2010-11-20 54 views
0

可以說我有這些DB行PHP MYSQL比較行WHERE語句

id | storage | used | status 
1 - 100 - 0 - 1 
2 - 1000 - 5000 - 1 

我需要對行的「存儲」和「使用」

我要選擇行比較WHERE狀態= 1和列「存儲」>列「使用」。

我試圖WHERE狀態= '1' 和存儲>使用

應該報到行ID#1,但它不。

回答

0

那麼,WHERE status=1 AND storage > used是正確的。如果您嘗試過,並且沒有回到id=1的行,那麼您的數據有問題。

storageused數字列?或者它們被存儲爲VARCHAR(或者,gasp,TEXT)?如果是這樣,你將無法按照你想要的方式比較它們,並且首先必須將它們轉換或轉換爲數字類型。最好將類型改爲實際數字(即INTDECIMAL或其他適當的類型)。

+0

它目前的int,仍然不能正確回報:( – jiexi 2010-11-20 03:17:57

+0

nvm我知道我失敗的地方...忘了取數組。lol k謝謝:) – jiexi 2010-11-20 03:23:20

0
SELECT * FROM `table` WHERE status = '1' AND storage > used 

應該給你正確的解決方案,像VoteyDisciple提到,確保statusused都是數字式的。

0

你可以使用SELECT * FROMWHERE status = '1' AND storage > used但是存儲和使用的數據類型必須是NUMERIC而不是VARCHAR。

如果你仍然沒有得到正確答案,那麼它應該是你的數據存儲結構的問題。

謝謝!