Можете да използвате това решение:
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() за да получите CSV на imageid 's за всеки postid :
SELECT postid, GROUP_CONCAT(imageid) AS gallery
FROM posts_has_images
GROUP BY postid