2011-08-03 53 views
0

我想將2個mysql調用合併爲一個,如果條件合併。這是我目前有:如何做一個基於IF條件的MySQL SELECT語句?

IF 
mysql_query("SELECT File FROM DB.ShoePics WHERE Cover='1' AND ShoeID='$ShoeID' LIMIT 1") 
Else 
mysql_query("SELECT File FROM DB.ShoePics WHERE Cover='0' AND ShoeID='$ShoeID' LIMIT 1") 

我猜它看起來類似的東西,但我知道它的不正確的:

mysql_query("SELECT File FROM DB.ShoePics WHERE IF(Cover='1')ELSE(Cover='0') AND ShoeID='$ShoeID' LIMIT 1") 

有人可以告訴我怎麼樣?謝謝!

+0

你究竟想要完成什麼?如果可用,請使用」Cover = 1「行,否則爲」Cover = 0「? –

+0

您沒有提供使用其中一種或另一種的任何條件... – Mchl

+0

對不起..弗蘭克你說的是我正在努力完成的。如果沒有其他人會做,r = 1是可用的。 – SReca

回答

0

讓您的查詢像

SELECT File FROM DB.ShoePics WHERE (Cover='1' OR Cover='0') AND ShoeID='$ShoeID' LIMIT 1 
0
SELECT File 
FROM DB.ShoePics 
WHERE 
    CASE WHEN CONDITION=1 THEN Cover='1' ELSE Cover='0' END 
    AND ShoeID='$ShoeID' LIMIT 1" 
+0

這個不幸沒有奏效。它給了我第一個找到的記錄,而不是封面= 1的行......我基本上試圖獲得用戶想要設置爲封面的鞋子圖片。如果用戶沒有設置封面,則選擇可用的第一張圖片。 – SReca

0

的mysql_query( 「選擇文件從DB.ShoePics WHERE(封面= '1' AND ShoeID = '$ ShoeID' LIMIT 1」)或(封面=」 0'AND ShoeID ='$ ShoeID'LIMIT 1「)

+0

結果與上面的代碼相同 – SReca