【发布时间】:2015-05-15 06:19:23
【问题描述】:
sql 查询需要连接 4 个表,我这样做了,我必须显示其中满足条件的几列。假设这是 Where 子句中的查询。现在我如何编写子查询..来显示另一列(ORG_NAME,在 ORG_UNIT 中),其内容基于 Where 子句中的查询所满足的行。 我写了这段代码,但它不适合我:
SELECT T33.CONTRACT_NUM, T135.MINOR_ORG_NUM, T96.ORG_TYPE,T22.CFD_FLAG,
(SELECT T96.ORG_NAME
FROM ORG_UNIT T96, SUB_UNIT T135
WHERE T96.ORG_NUMBER IN (T135.MAJOR_ORG_NUMBER)) AS HEAD_ORG_NAME
FROM
ORG_UNIT T96, SUB_UNIT T135, CUST_CONTRACT T33, CONT_ASSIGNMT T22
WHERE
T96.ORG_NUMBER = T22.ORG_NUMBER
AND T22.CTR_SYS_NUM = T33.CTR_SYS_NUM
AND T96.ORG_NUMBER = T135.MINOR_ORG_NUMBER
AND T135.RELTN_TYPE = 'HOS'
AND T22.CFD_FLAG = 'Y';
作为记录,T135 包含总部编号 (MAJOR_ORG_NUMBER) 及其子办事处编号 (MINOR_ORG_NUMBER)
【问题讨论】:
-
另外,我忘了提到:P,我想根据条件查看子办事处,以及它们对应的总部名称(如在选择子查询中给出的)
标签: sql subquery correlated-subquery