我正在嘗試寫一個MySQL select查詢來獲取所有有我company_id的產品。如果沒有找到結果,找到所有有company_id = 0的產品。MySQL查詢找到ID = X的值,如果X不存在,則回退到ID = 0
我可以通過使用IF/ELSE的PHP來做到這一點,但是從閱讀關於MySQL IF/ELSE,它看起來應該可以在一個查詢中。
該查詢顯然是行不通的,因爲它會與我的company_id和COMPANY_ID = 0返回的一切:
SELECT * FROM products
WHERE company_id = 100 OR company_id = 0
我一直在嘗試使用子查詢寫:
SELECT * FROM products
WHERE IF EXISTS (SELECT * FROM products WHERE company_id = 100)
ELSE EXISTS (SELECT * FROM products WHERE company_id = 0)
但作爲你可以看到,我是MySQL IF/ELSE的新手,這不起作用。
任何人都可以幫助我在正確的方向推動這個工作嗎?
非常感謝
(我必須使用MySQL v5.1.73)
可能是你可以在這裏找到你的解決方案http://www.mysqltutorial.org/mysql-stored-function/ – 2014-09-26 09:29:22