我有一个 sql 查询的模型,它将代表一个真正的 sql 查询。
Create table #tmp
(
Atype varchar(10),
Btype varchar(10)
)
insert into #tmp values ('a','x')
insert into #tmp values ('b','x')
insert into #tmp values ('a','y')
insert into #tmp values ('a','y')
insert into #tmp values ('b','z')
insert into #tmp values ('b','y')
select atype, btype,count(*) as count
from #tmp
group by atype, btype
order by atype
drop table #tmp
这会给我以下结果:
atype btype count
-----------------
a x 1
a y 2
b x 1
b y 1
b z 1
在此之后我正在寻找的是能够创建一个基本上看起来像这样的报告:
atype|x| y| z
-------------
a |1| 2| 0
b |1| 1| 1
我相信你可以使用疯狂的 t-sql 代码来做到这一点,但我正在努力让它正确。
编辑:
我同意您可以使用 TSQL PIVOT 命令,但是当 Btype 是变量时会发生什么。这意味着我不知道会有多少种类型?