我有一个名为 hg_liveitems 的表,其中包含当前网站上的项目。“类型”字段可以是水果、蔬菜或树木。水果、树木和蔬菜都有单独的表格,它们都具有相同的字段。基本上我需要一个查询来选择正确的name
字段以及要加入的正确表。此刻我有这个:
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 语句的了解还不够,无法知道发生了什么。