分类的一个统计
表AA
记录ID 名称 类型 属性
AID TheName TheType pro
1 名称1 电器 属性1
2 名称2 日用 属性2
3 名称3 珠宝 属性3
4 名称2 日用 属性4
5 名称5 电器 属性5
6 名称3 珠宝 属性1
7 名称3 珠宝 属性3
... ... ...
名称在记录中会重复,类型跟随名称,属性有多种,属性不跟随名称。
怎么写语句统计出:
类型 名称 属性1 属性2 属性3 属性4 属性5
电器 名称1 1 0 0 0 0
电器 名称5 0 0 0 0 1
日用 名称2 0 1 0 1 0
珠宝 名称3 1 0 2 0 0
... ... ...
------解决方案--------------------等老大们来。
------解决方案--------------------帮顶。
------解决方案--------------------楼主的信誉值是101啊,怎么整的?
------解决方案--------------------create table 表AA(AID int, TheName nvarchar(20), TheType nvarchar(10), pro nvarchar(10))
insert 表AA
select 1 , N '名称1 ', N '电器 ' , N '属性1 '
union select 2 , N '名称2 ' , N '日用 ' , N '属性2 '
union select 3 , N '名称3 ' , N '珠宝 ' , N '属性3 '
union select 4 , N '名称2 ' , N '日用 ' , N '属性4 '
union select 5 , N '名称5 ' , N '电器 ' , N '属性5 '
union select 6 , N '名称3 ' , N '珠宝 ' , N '属性1 '
union select 7 , N '名称3 ' , N '珠宝 ' , N '属性3 '
Declare @STR NVarchar(4000)
Select @STR = ' Select TheType,TheName '
Select @STR = @STR + N ',SUM(Case pro When N ' ' ' + pro + ' ' ' Then 1 Else 0 End) As ' + pro
From 表AA
print @str
Select @STR = @STR + ' From 表AA Group By TheType,TheName '
EXEC(@STR)
------解决方案--------------------