MySQL - Join as zero if record Not IN
Posted
by Zurahn
on Stack Overflow
See other posts from Stack Overflow
or by Zurahn
Published on 2010-04-05T15:10:36Z
Indexed on
2010/04/05
15:13 UTC
Read the original article
Hit count: 224
To explain by example, take two tables, A and B
Table A
id foo
1 x
2 y
3 z
Table B
id aid bar
1 3 50
2 1 100
An example join
SELECT foo, bar FROM a, b WHERE a.id = b.aid;
Garners a result of
foo bar
z 50
x 100
What I would like to do is get all values of foo
and for any instances where there isn't a corresponding bar
value, return 0 for that column.
My best guess was something along the lines of
SELECT foo, bar AS br FROM a, b
WHERE a.id = b.aid
OR a.id NOT IN (SELECT aid FROM b);
But that returns duplicates and non-zero values for bar.
Possible?
© Stack Overflow or respective owner