Для объяснения на примере возьмем две таблицы, A и B
Table A
id foo
1 x
2 y
3 z
Table B
id aid bar
1 3 50
2 1 100
Пример соединения
SELECT foo, bar FROM a, b WHERE a.id = b.aid;
Garners результат
foo bar
z 50
x 100
Я хотел бы получить все значения foo
и для всех случаев, когда нет соответствующего значения bar
, вернуть 0 для этого столбца.
foo bar
z 50
y 0
x 100
Моим лучшим предположением было что-то вроде
SELECT foo, bar AS br FROM a, b
WHERE a.id = b.aid
OR a.id NOT IN (SELECT aid FROM b);
Но это возвращает дубликаты и ненулевые значения для бара.
возможно?