Мне нужно соединить две таблицы в SQL Server: Table A
имеет первичный ключ с именем IDTableA
(integer
поле), а Table B
имеет первичный ключ IDTableB
(также integer
поле).
Table A
содержит внешний ключ IDTableB
, поэтому я хочу соединить обе таблицы, это поле имеет тип integer
и его значение равно 0.
Моя проблема в том, что, поскольку в Table B
нет записи с идентификатором 0, не показывайте мне эти записи из таблицы A, где 0 хранится во внешнем ключе.
Связь между обеими таблицами такова: запись в Table A
может принадлежать одной записи или ее отсутствовать в таблице B. Поэтому значение внешнего ключа по умолчанию в таблице A по умолчанию равно 0.
Я попытался соединить таблицы с INNER JOIN
и LEFT OUTER JOIN
, но это не сработало и не показало никаких записей. Что я могу сделать?
Спасибо.
Мой оператор SQL:
Select TableA.*
From TableA
inner join TableB on TableA.IdTableB = TableB.IdTableB
Решение:
Select TableA.*
From TableA
LEFT JOIN TableB on TableA.IdTableB = TableB.IdTableB
Подробнее:
LEFT JOIN против LEFT OUTER JOIN в SQL Server