Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> operator *= 
:(
    Опции темы
gelo86
Дата 29.12.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Sto delajet operator *=?.
Naprimer select .. from currency a, currency_price b where where a.currency_id *= b.currency_id -- Kakoj smysl etogo sql zaprosa?
PM MAIL   Вверх
Akina
Дата 29.12.2007, 11:31 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Код

a.currency_id *= b.currency_id 

это короткая форма записи
Код

a.currency_id = a.currency_id * b.currency_id 



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
gelo86
  Дата 29.12.2007, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



a eto: a.currency_date *= b.currency_date? kakoj smysl mozet byt etogo?
PM MAIL   Вверх
Servena
Дата 29.12.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Это устаревшая запись условия в объединении - по каким полям происходит Джоин.
Я даже не смог ее найти в МСДН. Эта запись не входит в стандарт ANSI и скоро уже не будет поддерживаться.

Лучше писать так:
Код

SELECT .. 
FROM currency AS a
INNER JOIN currency_price AS b 
      ON a.currency_id = b.currency_id



PM MAIL   Вверх
Akina
Дата 30.12.2007, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Во блин... век живи - век учись... вот что найдено в MSDN в разделе по Microsoft® SQL Server™ 2000

Цитата(Query Designer Considerations for SQL Server Databases)

Creating Outer Joins
In the SQL pane, you can use the SQL Server-specific *= and =* operators to specify an outer join. When you change panes or execute the query, the Query Designer reformats your SQL statement, and replaces *= with LEFT OUTER JOIN and =* with RIGHT OUTER JOIN.

Цитата(Accessing and Changing Relational Data)

Transact-SQL Joins
In earlier versions of Microsoft® SQL Server™ 2000, left and right outer join conditions were specified in the WHERE clause using the *= and =* operators. In some cases, this syntax results in an ambiguous query that can be interpreted in more than one way. SQL-92 compliant outer joins are specified in the FROM clause and do not result in this ambiguity. Because the SQL-92 syntax is more precise, detailed information about using the old Transact-SQL outer join syntax in the WHERE clause is not included with this release. The syntax may not be supported in a future version of SQL Server. Any statements using the Transact-SQL outer joins should be changed to use the SQL-92 syntax.

The SQL-92 standard does support the specification of inner joins in either the FROM or WHERE clause. Inner joins specified in the WHERE clause do not have the same problems with ambiguity as the Transact-SQL outer join syntax.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Servena
Дата 30.12.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Подведу итог:

1. Правильно будет (спасибо Акине - уточнил что это не внутренее, а внешнее соединение) написать так:
Код

SELECT .. 
FROM currency AS a
LEFT OUTER JOIN currency_price AS b 
      ON a.currency_id = b.currency_id
 

2. Нужно придерживаться стандарта ANSI, и SQL Server 2005(в отличие от 6 или 7 версий) уже приблизился к этому вплотную. Поэтому все устаревшие виды записей нужно исключить и не изучать, потому что в следующей версии они уже не будут поддерживаться.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.