私はこれを正しくするのに苦労しています。
1_related というテーブルがあります
id,prod_pack,fk_prod_pack_id,fk_prod_pack_related,fk_prod_pack_related_id
'2', '0', '102', '0', '2482'
'3', '0', '102', '0', '3147'
'2294', '0', '102', '1', '10'
1_products と 1_packages という 2 つのテーブルがあります。
fk_prod_pack_related の値に応じて、どちらかのテーブルの内容を結合したい (1_products テーブルの場合は 0、1_packages テーブルの場合は 1)
このクエリは、1_related から行 2 と 3 を返し、1_products の内容を結合します
SELECT
r . *, p . *
FROM
1_related AS r
INNER JOIN
1_products as p ON r.fk_prod_pack_related_id = p.id
and r.fk_prod_pack_related = 0
WHERE
r.prod_pack = 0
and r.fk_prod_pack_id = 102
しかし、1_packagesからのデータも必要なので、これを試しましたが、何も返されません
SELECT
r . *, p . *, s . *
FROM
1_related AS r
INNER JOIN
1_products as p ON r.fk_prod_pack_related_id = p.id
and r.fk_prod_pack_related = 0
INNER JOIN
1_packages as s ON r.fk_prod_pack_related_id = s.id
and r.fk_prod_pack_related = 1
WHERE
r.prod_pack = 0
and r.fk_prod_pack_id = 102