sql - 子查询条件 (SQL)
问题描述
所以我想使用下面的脚本创建一个视图,问题是我想显示按季度分组的 2020 年的视图,因为您可以看到我有 2 个子查询使用to_char(ACTION_DATE,'YYYY') = 2020
我只想返回季度结果,前提是FileNO
两个子查询中的 's 都来自同一个季度。
SELECT Quarter,
count(FileNO), avg(total_time),
sum( case when Total_Time <= :T Then 1 Else 0 End ) Achieved,
sum( case when Total_Time <= :T Then 1 Else 0 End ) / Count(FileNO) * 100 Precentage_Acheived
from
(SELECT to_Char(ACTION_DATE,'YYYYQ') as Quarter, FileNO, SUM(work_time) as total_time
FROM F.MV
WHERE
(FileNO, APP_no) IN
(SELECT FileNO, APP_no
FROM F.MV
WHERE to_char(ACTION_DATE,'YYYY') = 2020
AND TASK_NAME = 'Lifting'
AND TO_TASK_NAME = 'Finish')
AND DEPT_NAME = 'TempDep'
AND WF_TASK_NAME = 'Lifting'
and to_char(ACTION_DATE,'YYYY') = 2020
GROUP BY to_Char(ACTION_DATE,'YYYYq'),FileNO
)
GROUP BY Quarter
正确,如果我to_char(ACTION_DATE,'YYYYQ') = 20201
用于两个 subquieres
但我得到的结果to_char(ACTION_DATE,'YYYY') = 2020
是:
谢谢
解决方案
我认为你想要的最里面的相关子句是:
(FileNO, APP_no) IN
(SELECT mv2.FileNO, mv2.APP_no
FROM F.MV mv2
WHERE to_char(mv2.ACTION_DATE, 'YYYYQ') = to_char(mv.ACTION_DATE, 'YYYYQ')
推荐阅读
- docker - 如何让 Kubernetes 管理我的 Pod 日志文件?
- node.js - NodeJs 故障排除挂起控制台
- php - 从 MySQL INSERT 查询字符串中提取括号内的值
- angularjs - 这里的循环依赖是什么?
- javascript - HTML CSS : 获取 CDN SVG 图片并将它们转换为 PNG
- postgresql - 如何运行 pg_dump?它因“pg_dump: [archiver (db)] query failed: Р?РЁР?Р'”而失败
- android - 从 firebase 数据库中读取特定的子值
- javascript - 为什么简单的javascript字符串比较不起作用?
- julia - 如何在 Mac 中访问 Julia 的包内容?在 Windows 中很容易找到包内容,但在 Mac 中找不到
- jpa - 通过 JPA 自动保留 LocalDateTime