求一句有点难度的SQL语句,各位高手进来帮帮我!!小弟在线等啊

java1987 2005-12-14 11:23:48
name(名称) (jb)级别

A 1
A 2 ---表AB1
A 3
B 1

算出每个名称 级别个数
结果:

name a1 a2 a3

A 1 1 1 --表AB2
B 1 0 0

我想把表A数据查出来 以上面结果的形式添进表A2请各位帮忙了!
--测试环境!!!!
create table ab1
(name char,
jb int)
go
insert a1
select 'A',1 UNION ALL
select 'A',2 UNION ALL
select 'A',3 UNION ALL
select 'B',1
go
create table ab2
(name char,a1 int default 0 ,a2 int default 0 ,a3 int default 0)
go
如果答对了还可以另加30分
来这里报道就可以了
http://community.csdn.net/Expert/topic/4459/4459350.xml?temp=9.937686E-02
...全文
123 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jpp 2005-12-15
  • 打赏
  • 举报
回复
select name,
case when exists(select 1 from ab1 where ab1.name=a.name and ab1.jb=1) then 1 else 0 end a1,
case when exists(select 1 from ab1 where ab1.name=a.name and ab1.jb=2) then 1 else 0 end a2,
case when exists(select 1 from ab1 where ab1.name=a.name and ab1.jb=3) then 1 else 0 end a3
from (select distinct name from ab1) a
hpym365 2005-12-15
  • 打赏
  • 举报
回复
insert into ab2
select name,a1=sum(case when jb=1 then 1 else '' end),a2=sum(case when name=aa.name and jb=2 then 1 else '' end),
a3=sum(case when name=aa.name and jb=3 then 1 else '' end)
from a1 aa group by name
这个一定对 看看吧
java1987 2005-12-15
  • 打赏
  • 举报
回复
insert into ab2
select name,a1=sum(case when jb=1 then 1 else '' end),a2=sum(case when name=aa.name and jb=2 then 1 else '' end),
a3=sum(case when name=aa.name and jb=3 then 1 else '' end)
from a1 aa group by name
这个一定对 看看吧

34,837

社区成员

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

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