程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了选择子查询 - 基于值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决选择子查询 - 基于值?

开发过程中遇到选择子查询 - 基于值的问题如何解决?下面主要结合日常开发的经验,给出你关于选择子查询 - 基于值的解决方法建议,希望对你解决选择子查询 - 基于值有所启发或帮助;

在创建子查询方面需要帮助。

我有两个表“部门访问信息”和“主题代码主表”。如果任何 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

**** 使用 input2 编辑

解决方法

那只是外连接,不是吗?

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,请注明来意。