有一个查询的问题,望高手帮忙

rolom 2007-01-14 11:16:40
有一如下表:
名称 颜色 数量
a aa 20
a cc 10
b dd 5
b bb 25
c aa 30

有办法做成如下的查询吗?
aa bb cc dd 总数
a 20 0 10 0 30
b 0 25 0 5 30
c 30 0 0 0 30




...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
akuzou 2007-01-15
  • 打赏
  • 举报
回复
名称 aa bb cc dd 总数
---------- ----------- ----------- ---
a 20 0 10 0 30
b 0 25 0 5 30
c 30 0 0 0 30

(所影响的行数为 3 行)
akuzou 2007-01-15
  • 打赏
  • 举报
回复
不给分的问题没人解决哦!

create table T(名称 varchar(10),颜色 varchar(10),数量 int)
insert T select 'a','aa', 20
union all select 'a','cc', 10
union all select 'b','dd', 5
union all select 'b','bb', 25
union all select 'c','aa', 30


select * from T

select 名称,
sum(isnull(case when 颜色='aa' then 数量 end,0)) aa,
sum(isnull(case when 颜色='bb' then 数量 end,0)) bb,
sum(isnull(case when 颜色='cc' then 数量 end,0)) cc,
sum(isnull(case when 颜色='dd' then 数量 end,0)) dd,
sum(数量) 总数
from T group by 名称

drop table T
rolom 2007-01-15
  • 打赏
  • 举报
回复
有人可以帮帮我吗?

34,590

社区成员

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

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