次のようなクエリがあるとします。
SELECT type_person FROM tbl_event WHERE id_animal = 1;
これにより、イベントの全データを取得するために他のテーブルから参加する人のタイプとターゲット テーブル (この場合、これは「worker」を返します) が得られます。これで参加するには、「ワーカーテーブルのように:
SELECT a.*,b.*,z.*
FROM tbl_event a
left JOIN tbl_worker b
ON a.type_person = b.type_person
left JOIN tbl_animal z
ON z.id_animal = a.id_animal
WHERE z.id_animal = 1;
JOIN tbl_worker b の左の部分を次のように変更する方法はありますか:
SELECT a.*,b.*,z.*
FROM tbl_event a
left JOIN (SELECT type_person FROM tbl_event WHERE id_animal = 1)
ON a.type_person = b.type_person
left JOIN tbl_animal z
ON z.id_animal = a.id_animal
WHERE z.id_animal = 1;