2011-06-16 68 views
0
SELECT * FROM table WHERE id != 4; 
SELECT * FROM table WHERE NOT id = 4; 
SELECT * FROM table WHERE id <> 4; 

我已經有了這個工作,但我還必須選擇另一個字段(或多個字段)來決定返回哪些行。選擇除MySQL兩個字段以外的所有行

我該如何得到這個工作?

+3

你已經使用*選擇所有字段 - 所以我不清楚你的問題是什麼。如果您詢問了檢查不平等的三種方法之間的差異,請參閱此答案:http://stackoverflow.com/questions/7884/testing-for-inequality-in-t-sql – kinakuta 2011-06-16 04:14:02

+0

'NOT id = 4;'o_O – zerkms 2011-06-16 04:15:02

+0

你的問題的措辭有點不清楚,所以我試圖澄清。請讓我知道,如果我塞滿了它,所以它可以修復。 – paxdiablo 2011-06-16 04:21:39

回答

1

如果你想其中兩個條件都滿足(ID1是4和ID2爲7),使用類似以「取消」列:

select * from TBL where ID1 <> 4 or ID2 <> 7; 

ID1 ID2 selected 
--- --- -------- 
4 7  no 
4 1  yes 
1 7  yes 
1 1  yes 

如果你想「取消」列,其中任一條件爲真(ID1爲4或ID2是7),使用這樣的:

select * from TBL where ID1 <> 4 and ID2 <> 7; 

ID1 ID2 selected 
--- --- -------- 
4 7  no 
4 1  no 
1 7  no 
1 1  yes 

這可以被擴展到多個條件簡單地通過將它們添加到where子句的端部(和改變0文中的至all/any)。

+1

'這兩個條件都是真的'暗示'和' – zerkms 2011-06-16 04:16:00

+2

@zerk:除了我們選擇它們,不選擇它們 - 反轉條件 - 我會添加真值表來澄清。 – paxdiablo 2011-06-16 04:17:12

+0

我會接受這個答案,因爲我有這個想法,非常感謝你。儘管我已經發布了對我的問題的回答。 – woninana 2011-06-16 04:27:21

0

從相冊中選擇* idAlbum!= 4和idAlbum!= 8我只是解決了我的問題。謝謝你們的幫助!

相關問題