LINUX.ORG.RU

[MySQL] Как составить запрос?

 


0

0

Чуваки, вопрос такой: имеется две таблицы.

Первая таблица:
num (int)
num2 (int)

Вторая:
text (text)
num2 (int)

Теперь требуется сделать такой запрос, чтоб вывелись все строки из
первой таблицы, и при этом связанные со второй таблицей по полям
num2.

Итог должен быть вида:
num   num2   text

Закавыка в том, что поле text может быть пустым, если вдруг в num2
встретится пустое значение. В любом случае строка из первой таблицы
должна отобразиться, а не отсеиться.

Делал так:
SELECT table1.*, table2.text FROM table1, table2 WHERE table1.num2 = table2.num2

Но в таком случае отбираются только те строки, в которых num2 != 0.
Как правильно составить запрос?
anonymous

Добавлю, что если в первой таблице num2 == 0, значит во второй просто нет сопоставляющейся ей строки.

anonymous
()
Ответ на: комментарий от teferiincub

В доке по MySQL дальше порылся, примерно такой запрос получился:

SELECT table1.*, table2.text FROM table1 LEFT OUTER JOIN table2 ON table1.num2 = table2.num2

Работает как надо.

anonymous
()
Ответ на: комментарий от anonymous

эээ ну так я вроде пчти то же и написал. короче учи JOIN'ы =)

teferiincub
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.