Sie können diese Lösung verwenden:
SELECT b.filename
FROM posts a
INNER JOIN images b ON FIND_IN_SET(b.imageid, a.gallery) > 0
WHERE a.postid = 3
Sie sollten Ihr Design jedoch wirklich normalisieren und eine Querverweistabelle zwischen Beiträgen und Bildern verwenden. Dies wäre die beste und effizienteste Art, N:M-Beziehungen (viele-zu-viele) darzustellen. Es ist nicht nur viel effizienter beim Abrufen, sondern es wird auch das Aktualisieren erheblich vereinfachen und Löschen Bildzuordnungen.
Selbst wenn Sie die N:M-Beziehung korrekt mit einer Querverweistabelle dargestellt haben, können Sie immer noch die imageid erhalten im CSV-Format:
Angenommen, Sie haben einen posts_has_images Tabelle mit Primärschlüsselfeldern (postid , imageid ):
Sie können GROUP_CONCAT() verwenden um eine CSV-Datei der imageid zu erhalten 's für jede postid :
SELECT postid, GROUP_CONCAT(imageid) AS gallery
FROM posts_has_images
GROUP BY postid