我试图生成一个sql语句,其中包含一种if语句。这是我现在的说法:

$sql = "SELECT b.FrameNumber, b.BikeCode, p.FrameNumber
        FROM BikeStock b LEFT JOIN Purchase p
               on b.FrameNumber = p.FrameNumber
        WHERE b.bikecode = '$bikecode'";

我想把上面的陈述和下面的文字结合起来,但不知道怎么做。
如果bikestock表中的purchaseid值大于0,则它将选择其他帧号。
我们将非常感谢您的帮助。

最佳答案

你应该

SELECT b.BikeCode, IF(b.PurchaseID > 0,
        p.FrameNumber, b.FrameNumber) AS FrameNumber
    FROM BikeStock b
    LEFT JOIN Purchase p on b.FrameNumber = p.FrameNumber
    WHERE b.bikecode = '$bikecode'

p.s.不要忘记为sql注入转义$bikecode

09-25 16:40