SQL语句问题,高手请进!

changlongbaobao 2006-12-25 12:42:37
表一
num,class
001 1
002 2
003 3
表二
num,zhangjie,class
001 第三章 1
002 第四章 3
002 第三章 1
要得到的表:
class,第三章人数,第四章人数,共几人
1 1 1 2
2 0 0 0
3 0 1 1
...全文
210 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
changlongbaobao 2006-12-26
  • 打赏
  • 举报
回复
没写出来 但还是给分
cangwu_lee 2006-12-25
  • 打赏
  • 举报
回复
呵呵 偶不是高手——路过

--------------------------------------------------------------
程序,犹如人生。
changlongbaobao 2006-12-25
  • 打赏
  • 举报
回复
能给出SQL吗?
changlongbaobao 2006-12-25
  • 打赏
  • 举报
回复
怎么弄? 是要在 dataset中翻转吗?
北京的雾霾天 2006-12-25
  • 打赏
  • 举报
回复
行列转变问题吧,用几个union all就可以了.
ncjcz 2006-12-25
  • 打赏
  • 举报
回复
没看懂,是不是写错了啊?
觉得数据很怪
qsxcft 2006-12-25
  • 打赏
  • 举报
回复
修改一下
select a.num
,a.class
,b.zhangjie
,b.number
from
num1 a
inner join
(select zhangjie
,class
,num
,count(num) as number
from num2
group by
zhangjie
,num
,class) b
on
a.num=b.num
and
a.class=b.class
qsxcft 2006-12-25
  • 打赏
  • 举报
回复
create table num1
(num int,
class int)
create table num2
(num int
,class int
,zhangjie nvarchar(13)
)

insert into num1
select 001,1
union all
select 002, 2
union all
select 003, 3

insert into num2
select 001,1,'diyizhang'
union all
select 002, 2,'dierzhang'
union all
select 003,3,'disanzhang'

select * from num1
select * from num2
--------------

num class
----------- -----------
1 1
2 2
3 3

(3 件処理されました)

num class zhangjie
----------- ----------- -------------
1 1 diyizhang
2 2 dierzhang
3 3 disanzhang

(3 件処理されました)

select a.num
,a.class
,b.zhangjie
,b.number
from
num1 a
inner join
(select zhangjie
,num
,count(num) as number
from num2
group by
zhangjie
,num ) b
on
a.num=b.num
-------------------
num class zhangjie number
----------- ----------- ------------- -----------
1 1 diyizhang 1
2 2 dierzhang 1
3 3 disanzhang 1

(3 件処理されました)

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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