2011-08-03 57 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