sql两个表多列联合查询

sql两个表多列联合查询,第1张

create table [流水表]

([姓名] nvarchar(30),

 [班级] nvarchar(30),

 [备注] nvarchar(30))

  

  

 create table [课程码表]

([姓名] nvarchar(30),

[一班] int, [二班] int , [三班] int)

 

 

insert into [流水表] values('张三',   '二班',   '备注1'),

('李四',  '三班',   '备注2'),

('王五',  '二班',   '备注3'),

('赵六',  '一班',   '备注4'),

('张三',  '一班',   '备注5')

 

insert into [课程代码表] values('张三', 1, 2   ,3  ),

('李四', 4,  5   ,6  ),

('王五', 7,  8   ,9  ),

('赵六', 1   ,2, 3   )

 

 

go

---1 行列转换

 

 

/

 SELECT [姓名],[班级],[课程代码]

from [课程代码表]

unpivot([课程代码] for [班级] in([一班] , [二班]  , [三班]))as test

go

/

---2 左连接

 

select a[姓名],b[课程代码],a[班级],a[备注]  from [流水表] as a 

left join (

 SELECT [姓名],[课程代码],[班级]

from [课程代码表]

unpivot([课程代码] for [班级] in([一班] , [二班]  , [三班]))as test

) as b  on  a[姓名] = b[姓名] 

and a[班级] = b[班级]

 

 

go 

 

 

drop table  [流水表]

drop table  [课程代码表]

下面的句子是由两列分组的例子。

解释:先按部门deptno进行分组,然后在相同部门下再按各经理mgr分组,并取出不同部门、不同经理下的总工资和平均工资。

select deptno,mgr,sum(sal),avg(sal) from EMP group by deptno,mgr;

以上就是关于sql两个表多列联合查询全部的内容,包括:sql两个表多列联合查询、sql如何进行多列分组查询 是什么意思 麻烦写个案例 讲解下 王分感谢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9733761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存