大佬教程收集整理的这篇文章主要介绍了选择子查询 - 基于值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在创建子查询方面需要帮助。
我有两个表“部门访问信息”和“主题代码主表”。如果任何 Dept_code 的访问值为“ALL”,则需要组合这些表。以下是样本信息。
部门访问信息表输入主题代码为“全部”
部门代码 | Subject_Code |
---|---|
101 | aa1 |
102 | 所有 |
103 | cc1 |
如果主题代码带有“ALL”,那么我们需要参考主题代码特定表来获取所有主题。例如,对于 Dept_Code,“102”可以访问“所有”主题。
输入类型 -2,Dept_Code 为“ALL”,Subject_Code 为“ALL”
部门代码 | Subject_Code |
---|---|
101 | aa1 |
102 | 所有 |
103 | cc1 |
所有 | 所有 |
Dept_Code_Master 表包含所有的 Dep_Code |部门代码| |---------| |101 | |102 | |103 | |104 |
学科代码主表
部门代码 | Subject_Code |
---|---|
102 | bb1 |
102 | bb2 |
102 | bb3 |
104 | dd1 |
通过合并101、102和103部门代码最终需要的结果如下:
最终需要的输出:对于 Type-1 输入
部门代码 | Subject_Code |
---|---|
101 | aa1 |
102 | bb1 |
102 | bb2 |
102 | bb3 |
103 | cc1 |
最终要求的输出:类型 2 输入(所有公司,所有账户)
部门代码 | Subject_Code |
---|---|
101 | aa1 |
102 | bb1 |
102 | bb2 |
102 | bb3 |
103 | cc1 |
104 | dd1 |
那只是外连接,不是吗?
SELECT CONCAT(MIN(m.DatE),' to ',MAX(m.DatE)) AS DateRange,SUM(m.DischargE) AS @R_84_10586@lDischarge,SUM(m.Conviction) AS @R_84_10586@lConviction,SUM(m.Acquittal) AS @R_84_10586@lAcquittal,SUM(m.Other) AS @R_84_10586@lOther,m.NewCase AS LastNewCase,MP.NewCase AS LastOldCase
FROM tmp_myTable AS M
LEFT JOIN tmp_myTable AS MP ON MP.ID = (SELECT MAX(M2.ID) FROM tmp_myTable AS M2)
WHERE m.Date betweeN '2021-01-01' AND '2021-02-01'
,
对于您提供的示例,它看起来不需要子查询。
WITH CODE_MASTER AS
( SELECT '101' AS Dept_code,'aa1' AS Subject_Code
FROM dual
UNION
SELECT '102' AS Dept_code,'All' AS Subject_Code
FROM dual
UNION
SELECT '103' AS Dept_code,'cc2' AS Subject_Code
FROM dual
),SUBjeCT_CODE_MASTER AS
( SELECT '102' AS Dept_code,'bb1' AS Subject_Code
FROM dual
UNION
SELECT '102' AS Dept_code,'bb2' AS Subject_Code
FROM dual
UNION
SELECT '102' AS Dept_code,'bb3' AS Subject_Code
FROM dual
)
SELECT CODE_MASTER.DEPT_CODE,COALESCE(SUBjeCT_CODE_MASTER.subject_code,CODE_MASTER.subject_codE) AS Subject_Code
FROM CODE_MASTER
LEFT
JOIN SUBjeCT_CODE_MASTER
ON CODE_MASTER.dept_code = SUBjeCT_CODE_MASTER.dept_code
AND CODE_MASTER.Subject_Code = 'All'
以上是大佬教程为你收集整理的选择子查询 - 基于值全部内容,希望文章能够帮你解决选择子查询 - 基于值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。