2012-07-09 88 views
1

簡單的MySQL的問題我想寫基於四個值的條件的查詢但它似乎並不奏效,這裏是和示例查詢:MySQL查詢語法

select * from table_1 where c=0 d=0 a=0 u=0 or c=1 d=1 a=1 u=1 
+1

我的直接反應是:SELECT * FROM TABLE_1將(C = 0,d = 0, a = 0和u = 0)或者(c = 1和d = 1,a = 1和u = 1),但這似乎太容易了...... – BunjiquoBianco 2012-07-09 13:58:46

+1

看起來你並不熟悉基本的SQL語法。 – konjac 2012-07-09 13:59:36

+0

謝謝,我沒有看到任何愚蠢的問題,唯一愚蠢的問題是沒有被問到的問題,所以我成爲一名學習者,我沒有看到問題必須被降級,但是我非常感謝大家的幫助 – dames 2012-07-09 14:03:34

回答

11

WHERE邏輯是不正確:

select * 
from table_1 
where (c=0 and d=0 and a=0 and u=0) 
or (c=1 and d=1 and a=1 and u=1) 

你需要將你的語句一起在括號中仍然使用AND用於需要組合在一起的任何條件。

+0

非常感謝 – dames 2012-07-09 14:05:24

+0

Parens可能是一個很好的做法,但這裏並沒有嚴格的必要,因爲AND優先於OR。 – shawnt00 2012-07-09 14:58:39

1

或者,如果這些都始終爲0和1,您可以使用一個小技巧,縮短查詢:

where c+d+a+u = 0 or c*d*a*u = 1 
+0

非常感謝您的建議。 – dames 2012-07-09 14:19:00