2
我有一個名爲hg_liveitems的表,它包含當前網站上的項目。 '類型'字段可以是水果,蔬菜或樹木。有單獨的水果,樹木和蔬菜的桌子都有相同的領域。基本上我需要一個查詢,選擇正確的name
字段以及正確的表加入。在一分鐘我有這樣的:動態CASE sql語句的問題
SELECT `hg_liveitems`.`id`, `hg_liveitems`.`price`, `hg_liveitems`.`grabs`, `hg_liveitems`.`quantity`, `hg_liveitems`.`created`
CASE `hg_liveitems`.`type`
WHEN '1' THEN `hg_fruit`.`name`
WHEN '2' THEN `hg_trees`.`name`
WHEN '3' THEN `hg_veg`.`name`
END AS `name`
FROM `hg_liveitems`
INNER JOIN
CASE `hg_liveitems`.`type`
WHEN '1' THEN `hg_fruit` ON `hg_liveitems`.`produce_id` = `hg_fruit`.`id`
WHEN '2' THEN `hg_trees` ON `hg_liveitems`.`produce_id` = `hg_trees`.`id`
WHEN '3' THEN `hg_veg` ON `hg_liveitems`.`produce_id` = `hg_veg`.`id`
END
WHERE `hg_liveitems`.`grower_id` = '2'
AND `hg_liveitems`.`status` < '2'
,但我剛開始的錯誤,我不知道有足夠的瞭解CASE語句知道這是怎麼回事。
重複的問題:http://stackoverflow.com/questions/3208863/mysql-dynamic-join –