我有一个问题
假设有两个表
customer
Cid name
CustomerImage
ImgId Cid
此处Cid
是外键
我知道如果我想看到我将写的所有客户的所有图像
select customer.Cid, Customer.name , CustomerImage.ImgId from customer INNERJOIN CustomerImage where customer.Cid= CustomerImage.Cid
这显示了具有客户ID和名称
的每个图像的列表 如果我想在一列中显示一个Cid的所有图像,我应该在此添加什么Cid image name
因此image列应包含客户的所有ImgId
答案 0 :(得分:3)
我认为您想要的是将每个客户的所有图像分组在一行中,您可以使用MySQL中的group_by
子句和group_concat
函数来实现:
select c.Cid
, с.name
, group_concat(ci.ImgId separator ',')
from customer c
join CustomerImage ci on c.Cid = ci.Cid
group by c.Cid
, c.name