显示表结果而不重复某些值

时间:2015-03-07 18:11:30

标签: mysql stored-procedures duplicates

我试图编写一个连接两个表的存储过程:一个包含供应商列表,另一个包含产品(基于使用vendor_id的关系)。我要做的是:查询表格,以便它显示结果而不重复供应商名称。所以基本上,在其各自的列中打印一次公司名称,然后下一列将显示匹配的产品

这是我当前的查询 - 它返回我想要的结果,但重复公司名称。

select vendor.name as 'Company', product.name as 'Product', 
product.date_added as 'Date Added', product.quantity as 'Inventory'
from vendor
join product
on vendor.vendor_id = product.vendor_id
order by vendor.name asc;

1 个答案:

答案 0 :(得分:1)

您可以使用 group_concat() 功能

select 
v.name as 'Company',
group_concat(p.name SEPARATOR '>') as 'Product'
from vendor v 
join product p on p.vendor_id = v.vendor_id
group by v.name
order by  v.name