Вопрос о синтаксисе sql: * =

136
18

У меня есть более старый (сломанный) код, у которого есть соединение, используя * =


table1.ID *= table2.ID

Это левое внешнее соединение или правое внешнее соединение? (Мое сообщение об ошибке указывает, что это один из них)

спросил(а) 2010-03-29T23:22:00+04:00 10 лет, 7 месяцев назад
1
Решение
152

*= (LEFT OUTER JOIN)

=* (RIGHT OUTER JOIN)

Вместо этого используйте LEFT/RIGHT JOINS

ответил(а) 2010-03-29T23:24:00+04:00 10 лет, 7 месяцев назад
58

*= указывает левое внешнее соединение, а =* указывает правостороннее соединение.


EDIT:

У меня были смешаны мои соединения, были исправлены.

ответил(а) 2010-03-29T23:24:00+04:00 10 лет, 7 месяцев назад
42

table1.ID * = table2.ID, если table1 и table2 являются столбцами, а затем в sqlserver он даст ошибку в правильном синтаксисе, лучше использовать внутреннее соединение

ответил(а) 2014-12-23T09:34:00+03:00 5 лет, 10 месяцев назад
41

пожалуйста замените это на современный синтаксис LEFT OUTER JOIN .. ON.


левое внешнее соединение *=

правое внешнее соединение =*

ответил(а) 2010-03-29T23:27:00+04:00 10 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема