我一直在尋找答案,我發現了CASE,IFF和UNION,但我一直無法弄清楚,下面是我一直在嘗試的。如何運行第二個sql select如果第一個是空的?
SELECT *
FROM car_label as a
INNER JOIN car as b
ON a.label_id = b.label_id
WHERE a.car_id = 619
UNION ALL
SELECT *
FROM car
WHERE car_id = 619
如果第一選擇返回空,我想運行第二個選擇吧。這第一部分完美地工作,SELECT * FROM car_label as a INNER JOIN car as b ON a.label_id = b.label_id WHERE a.car_id = :car_id
,我只是想包括第二個選擇,以防第一個是空的。
更新:
Message: 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (SELECT * FROM car_label as a INNER JOIN car as' at line 1'
只是一些當我嘗試我一直收到IF中的pdo準備好了嗎?:消息:'SQLSTATE [42000]:語法錯誤或訪問衝突:106 4你的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'IF EXISTS(SELECT * FROM car_label as'在第1行')使用正確的語法。 – Craig
您使用的是SQL Server還是MYSQL? –
我正在使用MySQL – Craig