首页 > 解决方案 > 在 Postgresql 中将重复项组合在一起

问题描述

我正在查询有多少库存被预订到我们的仓库,我如何将所有重复的产品组合在一起,以便所有数量都可以作为一个并且同一产品不会多次显示?我将发布一个屏幕截图以显示我得到的内容和我正在使用的代码。谢谢

重复示例

select b.qty, a.part, a.desc1, a.main_supplier as supplier_acc_no, c.name as 
 supplier_name, a.main_mpn, a.date_receipt as date_booked_in
from public.stock as a
inner JOIN public.sthist AS b ON a.part = b.part
inner join public.supplier as c on a.main_supplier = c.account
where a.date_receipt > date_trunc('day', CURRENT_DATE) - INTERVAL '2 days'
and b.tran_type = 'POGRN'

标签: sqlpostgresql

解决方案


sum 和 group by(以及任何非 group-by 表达式的适当函数)。例如,

select sum(b.qty), a.part, min(a.desc1), 
min(a.main_supplier) as supplier_acc_no, min(c.name) as supplier_name, 
min(a.main_mpn), min(a.date_receipt) as date_booked_in
from public.stock as a
inner JOIN public.sthist AS b ON a.part = b.part
inner join public.supplier as c on a.main_supplier = c.account
where a.date_receipt > date_trunc('day', CURRENT_DATE) - INTERVAL '2 days'
and b.tran_type = 'POGRN'
group by a.part

推荐阅读