我正在尝试编写一个存储过程,该过程将两个表连接起来:一个包含一个供应商列表,另一个包含产品(基于使用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;
最佳答案
您可以使用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
关于mysql - 显示表结果而不重复某些值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28918275/