合并多个记录以输出单个结果

时间:2019-02-15 13:43:11

标签: sql pivot

我正在搜索零件表,想按公司编号将数据结果分成几列。每条记录都使用公司编号和部件号以及其他一些关键字段来使其唯一。我想查找部件号,并用所有公司编号作为列填充一行。如果在公司中找到零件,则匹配的列和行将填充1或true,否则填充0或null。

这是我的SQL语句:

SELECT PartNumber,CompanyNumber FROM DB.PartsTable PartsTable
WHERE PartNumber = &findPartNumber AND status= '1' 

这显示了我所拥有的以及我想要获得的结果:

expected output

1 个答案:

答案 0 :(得分:0)

Below would be the query -

select
sum(case when col#=601 then 1 else 0 end) as 601 ,
sum(case when col#=603 then 1 else 0 end) as 603,
sum(case when col#=605 then 1 else 0 end) as 605,
sum(case when col#=608 then 1 else 0 end) as 608,
sum(case when col#=612 then 1 else 0 end) as 612,
sum(case when col#=600 then 1 else 0 end) as 600
from <tableName> group by partNumber;