2016-08-22 134 views
0

我試圖做的是我從一個表,字段1選擇選擇查詢和Field2都大於0MySQL的 - 選擇其中兩個字段1和字段2大於0

NB字段1 &場2都INT/NOT NULL。

我試着做線沿線的東西:

SELECT * FROM tblname WHERE field1 > "0" AND field2 > "0" 

SELECT * FROM tblname WHERE field1 <> "0" AND field2 <> "0" 

SELECT * FROM tblname WHERE field1 != "0" AND field2 != "0" 

然而,當我只是是否匹配任一或爲= 0,這個查詢不工作 -

SELECT * FROM tblname WHERE field1 = "0" 

我需要要檢查這些信息以生成申請人列表,這些申請人在其申請中已經收到評分,所以field1和field2都必須已經滿足,所以假定使用數字評分匹配大於0會有效,但由於某種原因它不?

+0

FIELD1是一個整數,或者是字符串? – scaisEdge

+1

如果字段的類型爲INT,則應將它們與零比較,而不是字符串文字。 – EJP

+0

比較直接到零不起作用,與一個字符串相比,由於某種原因,在比較爲零的單數查詢時做了這個操作。兩個字段都是整數。 – GiantKiwi

回答

0

對於一個整潔的代碼,你可以使用LEAST(),它將較小的參數放置在缺口中。

我相信你的問題是,你是在字符串而非數字比較範圍(你提到的那些數字字段):

SELECT * FROM YourTable 
WHERE LEAST(field1,field2) > 0 

如果不解決您的問題 - 編輯你的問題,並定義「不起作用「,什麼都沒有被選中?拋出錯誤? ..

+0

好吧,這似乎按預期工作,所以我會去用它 - 謝謝。 – GiantKiwi

0

你可以試試這個:

SELECT * FROM tblname WHERE field1 <> 0 AND field2 <> 0 
相關問題