sql case加聚合函数
答案:2 悬赏:50
解决时间 2021-04-07 22:42
- 提问者网友:南佳人~
- 2021-04-07 05:01
判断“丰泰胜”公司供应的零件的总数量,
如果总数量大于1000,则输出“该供应商的生产能力很强”,
如果总数量介于300——1000之间,则输出“该供应商的生产能力中等”,
如果总数量小于300,则输出“该供应商的生产能力很弱”。
sno供应商代码,(pno零件代码,jno工程项目代码)这两个不用看的,qty零件数量
spj表
sno pno jno qty
S1 P1 J3 100
S1 P1 J4 700
S1 P2 J2 100
S2 P3 J1 400
S2 P3 J2 200
S2 P3 J4 500
S2 P3 J5 400
S2 P5 J1 400
S2 P5 J2 100
S3 P1 J1 200
S3 P3 J1 200
S4 P5 J1 100
S4 P6 J3 300
S4 P6 J4 200
S5 P2 J4 100
S5 P3 J1 200
S5 P6 J2 300
S5 P6 J4 500
s表 sno供应商代码sname供应商名字
sno sname status city memo
S1 精益 20 厦门 NULL
S2 盛锡 10 北京 NULL
S3 东方红 30 北京 NULL
S4 丰泰胜 20 天津 NULL
S5 为民 30 上海 NULL
就是用case好像还要两表的链接!貌似里面还要聚合函数是不?
真的做不出,网上也查不到想要的例子,帮帮忙,谢谢大家了,
最佳答案
- 二级知识专家网友:24K纯糖
- 2021-04-07 05:24
select case when sum(qty) > 1000 then '该供应商的生产能力很强' when sum(qty) > 300 and sum(qty) <= 1000 then '该供应商的生产能力中等' when sum(qty) <= 300 then '该供应商的生产能力很弱' else '超出判断范围' end as 结果
from spj a inner join s b on a.sno = b.sno
where sname = '丰泰胜'
from spj a inner join s b on a.sno = b.sno
where sname = '丰泰胜'
全部回答
- 1楼网友:伤口狠精致
- 2021-04-07 05:35
select s.sname,case when sum(spj.qty)>1000 then '该供应商的生产能力很强' when sum(spj.qty)<=1000 and sum(spj.qty)>=300 then '该供应商的生产能力中等' else '该供应商的生产能力很弱' end from s,spj where s.sno=spj.sno group by s.sname
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯