好的,我不得不承认我不是MySQL / phpMyAdmin的天才,但我总是愿意学习。 Theres目前是一个我无法解决的问题 - 花了最近几个小时与谷歌决定在这里问。这就是我所拥有的:
SELECT products.products_id AS ID, media.file AS Image
FROM products
LEFT JOIN media_link ON media_link.link_id = products.products_id
JOIN media ON media.id = media_link.m_id
ORDER BY ID;
基本上它是有效的。它看起来像这样:
ID | Image
1 | image.jpg
2 | image.jpg
2 | image2.jpg
3 | image.jpg
有没有办法像这样显示它?
ID | Image | Image2
1 | image.jpg |
2 | image.jpg | image2.jpg
3 | image.jpg |
我真的不是专家,但它有可能吗?任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
如果单个产品的图像数量不明,那将不是一个好主意。
我建议你改用GROUP_CONCAT
:
SELECT products.products_id AS ID, GROUP_CONCAT(media.file) AS Image
FROM products
LEFT JOIN media_link ON media_link.link_id = products.products_id
JOIN media ON media.id = media_link.m_id
GROUP BY products.product_id
ORDER BY products.product_id;
结果如下:
ID Image
1 image.jpg
2 image.jpg,image2.jpg
3 image.jpg