求sql解決方法

lamudaisy 2005-10-14 09:50:49
有一個table a
type Count
BA 10
CA 18
CR 15
HA 20

怎麼樣實現成
table b
BA CA CR HA
10 18 15 20

如果表a的列增加,表b的字段也增加
...全文
88 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lamudaisy 2005-10-14
  • 打赏
  • 举报
回复
謝謝!可以用
zlp321002 2005-10-14
  • 打赏
  • 举报
回复
--测试环境
Create table #T(Type varchar(10),[Count] int)
insert into #T select 'BA',10
union all select 'CA',18
union all select 'CR',15
union all select 'HA',20

--动态SQL

declare @s varchar(2000)
set @s='Select '
select @s=@s+'['+Type+']=sum(case when type='''+Type+''' then [count] end),'
from #T
group by Type
set @s=left(@s,len(@s)-1)
set @s=@s+' from #T '
exec (@s)
--结果
BA CA CR HA
----------- ----------- ----------- -----------
10 18 15 20
--删除测试环境
Drop table #T

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧