我有兩個表,我想獲得的信息與外部左聯接。選擇數據與加入
我有以下查詢:
SELECT *
FROM sportjefit_user
LEFT OUTER JOIN vriend ON sportjefit_user.id = vriend.vriend2
這一結果:
我只是想記錄,其中 'vriend1' 或 'vriend2' 不是48
可有人請幫幫我?
謝謝。
我有兩個表,我想獲得的信息與外部左聯接。選擇數據與加入
我有以下查詢:
SELECT *
FROM sportjefit_user
LEFT OUTER JOIN vriend ON sportjefit_user.id = vriend.vriend2
這一結果:
我只是想記錄,其中 'vriend1' 或 'vriend2' 不是48
可有人請幫幫我?
謝謝。
添加where clause這將幾乎完全映射到你說什麼,你需要:
SELECT *
FROM sportjefit_user LEFT OUTER JOIN vriend ON sportjefit_user.id=vriend.vriend2
where !(vriend1=48 or vriend2=48)
or (vfriend1 is null and vfriend2 is null);
SELECT * FROM sportjefit_user
LEFT OUTER JOIN vriend ON sportjefit_user.id = vriend.vriend2
WHERE vriend1 <> 48
OR vriend2 <> 48
或者,如果你想確保既不場爲48
SELECT * FROM sportjefit_user
LEFT OUTER JOIN vriend ON sportjefit_user.id = vriend.vriend2
WHERE vriend1 <> 48
AND vriend2 <> 48
試試這個:
SELECT * FROM sportjefit_user
LEFT OUTER JOIN vriend
ON sportjefit_user.id = vriend.vriend2
WHERE ((vriend.vriend1<>48) AND (vriend.vriend2<>48))
這將返回下述情形之一vriend1或vriend2不是48 ..我要選擇的值,其中他們都不值等於48.我現在得到的是..例如:vriend1 = 51,vriend2 = 48或另一個例子,vriend1 = 48 vriend2 = 89個 – 2011-05-12 15:47:13
@Seeger Mattijs:對不起,我沒有ü nderstand。那麼,你是否需要所有記錄:vriend1是48還是vriend2是48?所以,我認爲你可以用'AND'改變'OR'。讓我知道這是你需要什麼... – Marco 2011-05-12 16:33:59
這做到了!(vfriend1 = 48或vfriend2 = 48)或(vfriend1爲null並且vfriend2爲null) – 2011-05-12 17:32:58
我試過,但日返回值是'48'。我想選擇vriend1或vriend2都不等於48的值。我不能選擇使用'is NULL',因爲這些字段可能在某些時候填滿了。 – 2011-05-12 15:45:24
所以你的意思是vfriend1!= 48 AND vfriend2!= 48 – 2011-05-12 15:46:45
這不會返回:( – 2011-05-12 15:47:48