永洪社区

标题: SQL语句请教,谢谢。 [打印本页]

作者: yhdata_zfYQk03B    时间: 2022-2-16 15:40
标题: SQL语句请教,谢谢。
这个SQL语句怎么写。请帮忙看看。感谢。
作者: 美滋滋    时间: 2022-2-16 15:40
本帖最后由 美滋滋 于 2022-2-16 18:08 编辑

SELECT A.指令,A.状态,CASE WHEN B.cnt > 0 then '完成' else '未完成' end as "判断结果"
FROM A left join
(
select 指令,count(1) cnt
from A
where 状态 in ('F','G')
group by 指令
) B on A.指令= B.指令
大概这个样子吧,现写的,没有验证过,可以大概看出思路吧。下班走人咯

作者: _贝贝    时间: 2022-2-16 15:50
您好,是要通过sql查数据还是做计算列表示呢
作者: _贝贝    时间: 2022-2-16 15:51
计算列写法可以参考这个帖子
https://club.yonghongtech.com/fo ... 16&highlight=in
作者: yhdata_zfYQk03B    时间: 2022-2-16 16:47
原表就前面两列,想用SQL自动计算,并增加一列结果显示出来。
作者: _贝贝    时间: 2022-2-16 16:58
yhdata_zfYQk03B 发表于 2022-2-16 16:47
原表就前面两列,想用SQL自动计算,并增加一列结果显示出来。

比如出现过B、C就为合格


select name, gender ,
(case when name in('B','C') then '合格' else '异常'  end) as 判断结果

from test.student


更多sql语法的使用建议可以百度参考学习,讲解会比较全面



作者: yhdata_zfYQk03B    时间: 2022-2-16 17:32
感谢,是双列双条件判断,不是单列单条件判断,就按您这个例子,计算逻辑是,先计算 gender列的相同性别在name列是否出现过B和C,如果出现过判断为异常,否则是正常。
作者: 永洪tech-Bella    时间: 2022-2-16 19:07
美滋滋 发表于 2022-2-16 18:00
SELECT A.指令,A.状态,CASE WHEN B.cnt > 0 then '完成' else '未完成' end as "判断结果"
FROM A left joi ...


作者: yhdata_zfYQk03B    时间: 2022-2-16 20:06
谢谢,这里面A和B是代表啥
FROM A left join
(
select 指令,count(1) cnt
from A
where 状态 in ('F','G')
group by 指令
) B
作者: 永洪tech-Bella    时间: 2022-2-16 20:10
yhdata_zfYQk03B 发表于 2022-2-16 20:06
谢谢,这里面A和B是代表啥
FROM A left join
(

表,A是实际的表,B是将一个查询的结果集作为一个表,拼子查询sql的写法和含义建议咨询数据库dba呢,不同数据库 写法也会有差别

作者: yhdata_zfYQk03B    时间: 2022-2-16 20:33
感谢{:11:}
作者: 永洪tech-Bella    时间: 2022-2-16 20:37
yhdata_zfYQk03B 发表于 2022-2-16 20:33
感谢{:11:}


作者: 美滋滋    时间: 2022-2-16 21:35
yhdata_zfYQk03B 发表于 2022-2-16 20:06
谢谢,这里面A和B是代表啥
FROM A left join
(

不给标注个最佳答案吗
作者: yhdata_zfYQk03B    时间: 2022-2-16 22:57
怎么标注,没找到这个按钮




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4