画像、色、タグの 3 つのテーブルがあります。各画像には 2 色と少なくとも 1 つのタグがあります。そして、ユーザーがタグや色を個別に検索できるようにします。
問題は、テーブルに参加しているときに、列に同じ値を持つ行が複数回取得されることです。
SELECT images.id, tag, color
FROM images
JOIN tags ON tags.image_id = images.id
JOIN colors ON colors.image_id = images.id
WHERE images.id = 1
I get:
image_id: 1, tag: sky, color: blue
image_id: 1, tag: cloud, color: blue
image_id: 1, tag: sky, color: white
image_id: 1, tag: cloud, color: white
But the result I want is something like:
image_id: 1, tag1: sky, tag2: cloud, color1: blue, color2: white
これはどういうわけか可能ですか?それとも、データベースの設計を変更する必要がありますか?