Проблема соединения с SQL-запросом - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть 3 таблицы, которые я пытаюсь объединить в одну с помощью запроса.Одна таблица «Main» имеет первичный ключ «AppID», а две другие таблицы «Net & Env» используют этот ключ в качестве внешнего ключа.То, что я пытаюсь сделать, - это объединить AppID Main и Net для каждого appid, существующего в Net, а также для каждого Appid, существующего в Env.Моя идея заключается в том, что если я выполняю объединение в Main и Net, то остается только синхронизировать AppIds, но я также хочу выполнить соединение из Main в Env.Мой запрос:

SELECT Main.Name FROM ((Main INNER JOIN Net On Main.AppID=Net.AppID)INNER JOIN 
Env On Env.AppID=Main.AppID);

Нужно ли иметь подзапрос для внешнего соединения.Я знаю, что этот неверный запрос не дает мне желаемого результата.Дайте мне знать, если мой вопрос неясен.

1 Ответ

2 голосов
/ 01 февраля 2011

Используйте LEFT JOIN

SELECT m.Name FROM Main m LEFT JOIN Net n ON n.AppID=m.AppID LEFT JOIN Env e ON e.AppID=m.AppID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...