id player_id nat nt_caps
13740 28664 97 24
13741 28664 68 0
13742 28664 79 0
16252 42904 15 40
16253 42904 68 0
16254 42904 241 0
這就是我的表的外觀。我想選擇只有nt_caps =「0」的nat OR player_id只有nat =「68」的nt_caps!=「0」的player_id。如何根據其他行中的相似或反向數據選擇一行?
的SQL查詢我試着使用方法是:
SELECT player_id FROM x WHERE nat = '68' AND (nat != '68' AND nt_caps = '0')
但後來我得到player_id「42904」和「28664」,因爲它們都具有與查詢匹配1個條目,但我不想讓他們因爲他們擁有另一個nat而不是nat「68」的nt_caps。
我希望你明白我想要達到的目標。
如果你要這要那,你爲什麼使用AND? – 2012-02-13 21:18:03
對我來說聽起來很混亂。但仍然如我所知,將第一個AND更改爲OR,並且您的查詢應該返回正常。 – itachi 2012-02-13 21:23:10
'nt_caps'中是否有NULL值? – 2012-02-13 21:24:31