求一个查询脚本,三个表联合查询 三维表?

瘦马 2015-09-30 11:10:55
有课程表kc
id,name
1,语文
2,数学
3,英语
有学生表stu
id,name
1,张三
2,李四
3,王五
有成绩表
kid,sid,cj
1,1,90
2,1,80

如何得到以下结果
,张三,李四,王五
语文 90, 0, 0
数学 ,80, 0, 0
英语, 0, 0, 0
...全文
234 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
瘦马 2015-09-30
  • 打赏
  • 举报
回复
实际情况是,
引用 4 楼 qq_17482963 的回复:
[quote=引用 3 楼 yangb0803 的回复:] [quote=引用 2 楼 hwhtj 的回复:] 这些case when 不好写吧,学生个数可能有几千个呢,不可能每个人都写一次的
額。。。 你打算將几千个学生,都横着排? 那怎么看? 我不知道你要这么设计表的目的是啥了。 个人觉得,学生名字竖排, 科目横排会比较好看点。 毕竟,我们浏览习惯是竖着滚动的多。[/quote] +1,学生横排看起来怪怪的,非要横排的话就用动态生成的吧[/quote] 实际情况是: 项目表、公司表、业绩表 项目有几百个,公司有几十个,业绩表有几十万条数据 但几十个,也不好每个公司写一篇不是
qq_17482963 2015-09-30
  • 打赏
  • 举报
回复
引用 3 楼 yangb0803 的回复:
[quote=引用 2 楼 hwhtj 的回复:] 这些case when 不好写吧,学生个数可能有几千个呢,不可能每个人都写一次的
額。。。 你打算將几千个学生,都横着排? 那怎么看? 我不知道你要这么设计表的目的是啥了。 个人觉得,学生名字竖排, 科目横排会比较好看点。 毕竟,我们浏览习惯是竖着滚动的多。[/quote] +1,学生横排看起来怪怪的,非要横排的话就用动态生成的吧
道玄希言 2015-09-30
  • 打赏
  • 举报
回复
引用 2 楼 hwhtj 的回复:
这些case when 不好写吧,学生个数可能有几千个呢,不可能每个人都写一次的
額。。。 你打算將几千个学生,都横着排? 那怎么看? 我不知道你要这么设计表的目的是啥了。 个人觉得,学生名字竖排, 科目横排会比较好看点。 毕竟,我们浏览习惯是竖着滚动的多。
瘦马 2015-09-30
  • 打赏
  • 举报
回复
引用 1 楼 qq_17482963 的回复:
............ sum(case when sname='张三' then cj else 0 end)'张三', sum(case when sname='李四' then cj else 0 end)'李四', sum(case when sname='王五' then cj else 0 end)'王五' from tb group by kname[/code]
这些case when 不好写吧,学生个数可能有几千个呢,不可能每个人都写一次的
qq_17482963 2015-09-30
  • 打赏
  • 举报
回复
with kc(kid,kname) as
(
select 1,'语文' union all
select 2,'数学' union all
select 3,'英语'
),
stu(sid,sname) as 
(
select 1,'张三' union all
select 2,'李四' union all
select 3,'王五'
),
cj(kid,sid,cj) as 
(
SELECT 1,1,90 UNION ALL
SELECT 2,1,80
),
tb as
(
	select b.kname,c.sname,a.cj from kc b
	left join cj a  on a.kid=b.kid
	left join stu c on c.sid=a.sid
)
select kname,
sum(case when sname='张三' then cj else 0 end)'张三',
sum(case when sname='李四' then cj else 0 end)'李四',
sum(case when sname='王五' then cj else 0 end)'王五'
from tb group by kname
瘦马 2015-09-30
  • 打赏
  • 举报
回复
应该是一个交叉表的查询
瘦马 2015-09-30
  • 打赏
  • 举报
回复
谢谢qq_17482963 你这个使用了一个过渡表tb 不使用临时表,应该怎么弄呀

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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