このソリューションを使用できます:
SELECT b.filename
FROM posts a
INNER JOIN images b ON FIND_IN_SET(b.imageid, a.gallery) > 0
WHERE a.postid = 3
ただし、実際にはデザインを正規化し、投稿と画像の間で相互参照テーブルを使用する必要があります。これは、N:M(多対多)関係を表すための最良かつ最も効率的な方法です。検索がはるかに効率的であるだけでなく、更新が大幅に簡素化されます。 および削除 画像の関連付け。
相互参照テーブルを使用してN:M関係を適切に表現した場合でも、imageidを取得できます。 CSV形式の:
posts_has_imagesがあるとします。 主キーフィールド(postid)を含むテーブル 、imageid ):
GROUP_CONCAT()を使用できます imageidのCSVを取得するには 各postidの :
SELECT postid, GROUP_CONCAT(imageid) AS gallery
FROM posts_has_images
GROUP BY postid