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: 278
        
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