问题 1: 请问在SQL SERVER中如何将表A的数据统计并创建表B? select name,(case when id='aaa' then 1 else 0 end) as aaa ,(case when id='bbb' then 1 else 0 end) as bbb from tablename group by name问题 2: 如果表A追加多条记录后,如何更新表B的数据? 触发器
--动态去查询就可以了. --2005 如下:declare @t table(a varchar(10),b varchar(10)) insert into @t select '胡子','aaa' union all select '面包','bbb' union all select '胡子','aaa' union all select '石头','aaa' union all select '石头','bbb'select * from @t pivot (count(b) for b in ([aaa],[bbb]) )as pit /* a aaa bbb ---------- ----------- ----------- 胡子 2 0 面包 0 1 石头 1 1(3 行受影响) */
请问在SQL SERVER中如何将表A的数据统计并创建表B?
select name,(case when id='aaa' then 1 else 0 end) as aaa
,(case when id='bbb' then 1 else 0 end) as bbb
from tablename
group by name问题 2:
如果表A追加多条记录后,如何更新表B的数据?
触发器
--2005 如下:declare @t table(a varchar(10),b varchar(10))
insert into @t select '胡子','aaa'
union all select '面包','bbb'
union all select '胡子','aaa'
union all select '石头','aaa'
union all select '石头','bbb'select * from @t
pivot
(count(b)
for b in ([aaa],[bbb])
)as pit
/*
a aaa bbb
---------- ----------- -----------
胡子 2 0
面包 0 1
石头 1 1(3 行受影响)
*/