我的表结构如下
table-1
-------
id
name
table-2
--------
imageId
id ( reference of table1.id)
image
和table1具有以下记录
id name
1 A
2 B
3 C
表2有
imageId id image
1 1 image1.jpg
2 1 image2.jpg
3 2 image3.jpg
即table1.id在table2中有很多图像,现在我需要选择记录及其相应的图像(同一个id的多个图像),如
id name image
1 A image1.jpg,image2.jpg
2 B image3.jpg
答案 0 :(得分:1)
select
b.imageId,
a.id,
b.imageName
from
table-1 a
right outer join table-2
on a.id=b.id
这将为您提供输出:
id name image
1 A image1.jpg
1 A image2.jpg
2 B image3.jpg
答案 1 :(得分:1)
您可以使用GROUP_CONCAT
函数将多行中的值转换为单个逗号分隔的字符串(例如您在示例中所需的结果):
SELECT a.id, a.name, GROUP_CONCAT(b.image) AS images
FROM table1 a
INNER JOIN table2 b ON a.id = b.id
GROUP BY a.id, a.name