尝试与条件一起进行左连接。说这是我的表:
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
答案 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'