3 つのテーブルがあります。 TABLE 1 契約
-------------------
id | contract_name
--------------------
1 test name
2 test name 2
2 test name 3
4 test name 4
表 2 部屋
-------------------
id | room_name
--------------------
1 test name
2 test name 2
2 test name 3
4 test name 4
表 3 プロモーション
----------------------------------
id | contracts_id | rooms_id
----------------------------------
1 1,3 1,3,4
1 2 1,2,3
いいえ、内部結合を実行して、データベースに保存されている配列の ID に従って契約と部屋の名前を取得しようとしています。これはまったく理想的ではないことはわかっていますが、データベースの設定を変更することはできません。これが私のクエリでやりたいことですが、明らかに不可能です。どうすればこれを達成できるかについて誰か考えがありますか?
mysql_query("SELECT pb.*, c.contract_name, r.room_name FROM promo_blackouts AS pb
INNER JOIN contracts as c ON c.contract_id IS IN pb.contracts_id
INNER JOIN rooms as r ON r.room_id IS IN pb.rooms_id
WHERE pb.promo_id = '$promo_id'") or die(mysql_error());