2013-06-19 3 views
0
SELECT * FROM class c 
Left join sub_inclass s on s.class_id=c.class_id 
join subject sb on s.sub_id=sb.sub_id 

Остальные два, за исключением «таблицы» класса пустуют, я оставил присоединиться, но класс таблицы по-прежнему не отображаетсяSql запрос возвращает 0 строк

+1

должно быть внешнее соединение – DavidB

ответ

3

Если вы используете только join это inner join по умолчанию.

SELECT * FROM class c 
Left join sub_inclass s on s.class_id=c.class_id 
left join subject sb on s.sub_id=sb.sub_id 
^-------------------you missed left here 
+0

Я хочу таблицу классов в каждом конкретном случае, так что я использовал левое соединение там только, Нужно написать левое соединение на втором месте тоже? –

+0

В качестве основы используется таблица 'class'. И каждая таблица, которую вы присоединяете, должна быть 'left join'ed, чтобы предотвратить фильтрацию записей' class'. –

+0

Это работало thanx, спасатель жизни;) –

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