繁体   English   中英

如何从具有相同ID的多个记录的另一个表中获取记录?

[英]How to Fetch record from another table which is having multiple record for same id?

我的表结构如下

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
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

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM