左加入问题

时间:2009-11-19 07:55:35

标签: mysql

尝试与条件一起进行左连接。说这是我的表:

a     b     c
-------------------------
1     1     NULL
3     3     something

我的查询是

select * from x left join y on x.a = y.b

问题是我不希望c成为“某事”所以当我添加

select * from x left join y on x.a = y.b where y.c <> 'something'

它显示0行。它应该实际显示

a     b     c
-------------------------
1     1     NULL

3 个答案:

答案 0 :(得分:2)

select * 
from x left join y on x.a = y.b 
WHERE y.c IS NULL OR y.c <> 'something'

答案 1 :(得分:1)

我想你了:


SELECT *
FROM x
LEFT JOIN y ON x.a = y.b
WHERE y.c <> 'something'

答案 2 :(得分:0)

旧回复,但通常对此最简单的解决方案是将检查放入ON子句: -

SELECT * 
FROM x 
LEFT OUTER JOIN y 
ONx.a = y.b 
AND y.c <> 'something'