Я пытаюсь объединить три отдельных запроса в один. Каждый запрос выбирает другой столбец из другой таблицы, но в таблицах есть несколько столбцов.MySQL LEFT JOIN - Как все еще вернуть результаты, когда крайняя левая таблица пуста?
То, что я пробовал делать, было ВЛЕВО ПРИСОЕДИНИТЬСЯ к двум таблицам в другую, и это отлично работает, пока крайняя левая таблица возвращает результат. Но если крайняя левая таблица не возвращает результат, то результат не возвращается вообще (даже если оба запроса LEFT JOINed имеют результаты).
псевдокод:
SELECT a.col_1, b.col_2, c.col_3
FROM tableA a
LEFT JOIN tableB b ON b.someCol = a.someCol
LEFT JOIN tableC c ON c.someCol = a.someCOL
WHERE a.anotherCol = :someVal AND a.yetAnotherCol = :anotherVal
Если TABLEA есть результат, то результат запроса, что я хотел (т.е. он возвращает три столбца с col_1, col_2 | утратившим col_3 | нулем). Но если tableA не имеет результата, тогда запрос возвращает null.
Есть ли способ вернуть результаты, когда крайняя левая таблица в строке LEFT JOINs не имеет результата?
+1 Просто хотел вставить свой ответ, но увидел, что вы сделали это сначала :) – peterm