現在、3 つの mysql テーブルがあります。テーブルにすべての人をリストする必要がpeople
あります。この横に興味があることを示しています。これがその sql です。
SELECT *,(
SELECT GROUP_CONCAT(interest_id SEPARATOR ",")
FROM cat_people_interests
WHERE person_id = people.id
) AS cat_interests
FROM people
WHERE id IN
(
SELECT person_id
FROM cat_interests
)
ORDER BY lastname, firstname);
スキーマ
`people` { int:id, varchar:name }
`cat_people_interests` { int:interest_id, int:person_id }
`cat_interests` { int:id, varchar:name }
`alternate_meow_pull` { int:person_id, int:meow_id, int:dataetc, int:dataetc2 }
したがって、これにより、そこに名前とすべての興味を引き出すことができます。
個人の ID が別のテーブル (alternate_meow_pull) に person_id として存在するかどうかを行ごとに確認するために、これを変更または追加するにはどうすればよいですか? 私が個人的に行うことは、各行で mysql クエリを確認することですが、より高速で簡潔な方法があると確信しています。ところで、alternate_meow_pull にその人物が存在するかどうかに関係なく、結果を取得したいと考えています。
したがって、この結果をループするときに、名前、ID、個人に関連するすべての興味、個人に関連するalternate_meow_pull にあるすべてのデータを出力できるようにしたいと考えています。