現在 Web サイトにあるアイテムを保持する 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 ステートメントについて十分な知識がなく、何が起こっているのかを知ることができません。