我有表product
area productname count
a1 p1 5
a2 p2 6
a1 p2 9
a2 p3 8
a1 p3 1
我希望它像这样;如果在SQL中可行,我正在使用SQL Server
a1 count(p1) count (p2) count(p3)
a2 count(p1) count (p2) count(p3)
.
.
an count(p1) count (p2) count(p3)
答案 0 :(得分:2)
对于您尝试解决的特定问题,以下查询将起作用。 Evaldas建议的链接也为动态旋转提供了一个很好的例子。
select area, p1, p2, p3
from
(select area, productname, counter from test) t
pivot
(
min(counter)
for productname in (p1, p2, p3)
) as piv
order by area;