Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > SQL запрос по трем таблицам, поочередно


Автор: chiffa 10.8.2013, 16:08
Добрый день. Подскажите как правильно составить следующий запрос. Есть три таблици Table1, Table2, Table3 делаю выборку

Код

SELECT a.id, a.name, a.surname, a.email, b.amount FROM Table1 a
LEFT JOIN Table2 b ON b.tables_id = a.id
WHERE a.login = 'xxx' AND a.pass = '123'


здесь нормально выводится найденый результат

Третия таблица Table3 связано с первой таблице Table1.tables_id = a.id необходимо в выборке учесть условие что Table3_param = ''

если делаю так:

Код

SELECT  a.id, a.name, a.surname, a.email, b.amount FROM Table1 a
LEFT JOIN Table3 c ON c.tables_id=a.id
LEFT JOIN Table2 b ON b.tables_id = a.id
WHERE a.login = 'xxx' AND a.pass = '123' and c.param = ''


так ничего не находит.

То есть мне нужно вывести данные из таблицы 1 и 2 и одно поле (со значение или пустую ячейку) из таблицы 3

Автор: Zloxa 11.8.2013, 18:57
Цитата(chiffa @  10.8.2013,  17:08 Найти цитируемый пост)
как 


вместо
Цитата(chiffa @  10.8.2013,  17:08 Найти цитируемый пост)
 and c.param = ''

Код

and (c.param = '' or c.param is null)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)