2013-07-25 4 views
0

Я пытаюсь выяснить запрос, где она будет перечислять все строки в определенном столбце связанных данных в другом столбце:Получения значения обратно из двух столбцов из двух разных таблиц

enter image description here

Так что я хочу каждое значение в столбце имени и столбец рядом с ним из другой таблицы. Значение 44 ниже является первичным ключом, поэтому, если в этом столбце есть значение, я хочу получить имя столбца из другой таблицы, к которому принадлежит первичный ключ. Если он недействителен, я не хочу ничего возвращать.

Если я:

SELECT [Theme].[Name], [ThemeType].[Type] 
FROM [Theme], [ThemeType] 
WHERE [Theme].[ThemeTypeId] = [ThemeType].[PK_ThemeType] 

он возвращает только те значения, где и существуют. Как я могу вернуть обоих?

+0

Использование внешнего соединения – Elias

ответ

4

Чтобы получить это, вы будете нуждаться в LEFT JOIN AKA LEFT OUTER JOIN:

SELECT [Theme].[Name], [ThemeType].[Type] 
FROM [Theme] 
Left Outer Join [ThemeType] on [Theme].[ThemeTypeId] = [ThemeType].[PK_ThemeType] 

Вы можете понять, как присоединяется к работе, и как бы вы показать разные результаты следующим образом.

enter image description here

Image Кредит Visual Representation of SQL Joins

Смежные вопросы