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
...全文
152 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
changlongbaobao 2006-12-26
没写出来 但还是给分
  • 打赏
  • 举报
回复
cangwu_lee 2006-12-25
呵呵 偶不是高手——路过

--------------------------------------------------------------
程序,犹如人生。
  • 打赏
  • 举报
回复
changlongbaobao 2006-12-25
能给出SQL吗?
  • 打赏
  • 举报
回复
changlongbaobao 2006-12-25
怎么弄? 是要在 dataset中翻转吗?
  • 打赏
  • 举报
回复
行列转变问题吧,用几个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 件処理されました)
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2006-12-25 12:42
社区公告

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