您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 其他数据库 >> (DB2)求一个sql查询语句

(DB2)求一个sql查询语句

来源:网络整理     时间:2016/7/21 1:06:05     关键词:

关于网友提出的“ (DB2)求一个sql查询语句”问题疑问,本网通过在网上对“ (DB2)求一个sql查询语句”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: (DB2)求一个sql查询语句
描述:

先上表:
任务表 TASK
id  主键,  
task_id 任务标识,标志不同部门的同一个任务, 
department_id 部门id, 
status 状态 0初始,1正在执行,2已完成
数据:
id   task_id        department_id           status
1    33                 21                                    0
2    33                 25                                    1
3    33                 15                                    2
4    34                 21                                    2
5    34                 25                                    2
6    34                 15                                    2
要求查询结果:
task_id           完成情况    
33                    未完成
34                    已完成
要求:
1.一个task_id只显示一条
2.  完成情况只要有个部门不是2,就是未完成


解决方案1:

select task_id,"已完成" as " 完成情况 " from  TASK t
 
where task_id not in  
(
 select task_id from TASK s where s.status<>2

union 
select task_id,"未完成" as " 完成情况 " from  TASK t
 
where task_id in  
(
 select task_id from TASK s where s.status<>2

应该不是高性能的SQL,但应该可以满足你的需求,试试看

解决方案2:

select task_id,elt(min(if(status=2,2,1)),'未完成','已完成')
from 任务表 t
group by  task_id

以上介绍了“ (DB2)求一个sql查询语句”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2838603.html

相关图片

相关文章