Puedes usar esta solución:
SELECT b.filename
FROM posts a
INNER JOIN images b ON FIND_IN_SET(b.imageid, a.gallery) > 0
WHERE a.postid = 3
Sin embargo, realmente deberías normalizar tu diseño y usar una tabla de referencias cruzadas entre publicaciones e imágenes. Esta sería la mejor y más eficiente forma de representar relaciones N:M (muchos a muchos). No solo es mucho más eficiente para la recuperación, sino que simplificará enormemente la actualización y borrar asociaciones de imágenes.
Incluso si representó correctamente la relación N:M con una tabla de referencias cruzadas, aún puede obtener el imageid en formato CSV:
Suponga que tiene un posts_has_images tabla con campos de clave principal (postid , imageid ):
Puedes usar GROUP_CONCAT() para obtener un CSV del imageid para cada postid :
SELECT postid, GROUP_CONCAT(imageid) AS gallery
FROM posts_has_images
GROUP BY postid