2009-11-19 140 views
2

我正試圖做一個左連接以及一個條件。之所以這樣說,是我的表:左連接問題

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 

回答

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

我想你彪:


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

是的,抱歉修好了 – 2009-11-19 08:12:50

0

舊的答覆,但通常這種情況的最簡單的方法是將檢查ON子句中: -

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