将 4 个表合二为一(Oracle R11)

JOIN 4 tables in one (Oracle R11)

我需要创建一个查询来显示 "Legal Entity"、"Application Name"、"Close Date" 和 "Period" 我正在使用 Oracle R11,现在我已经找到

的查询

"Legal Entity"

SELECT name
FROM hr_organization_information HOI
INNER JOIN hr_all_organization_units HAOU
ON HOI.ORGANIZATION_ID = Haou.Organization_Id
WHERE HOI.org_information_context LIKE 'Legal Entity Accounting'
ORDER BY NAME ASC;

和 "Application Name, Close Date, Period"

SELECT A.APPLICATION_ID,
       B.APPLICATION_NAME,
       TO_CHAR(A.END_DATE,'HH24:MI DD-MON-YYYYI'),
       A.PERIOD_NUM
FROM GL_PERIOD_STATUSES A
INNER JOIN FND_APPLICATION_TL B ON A.APPLICATION_ID = B.APPLICATION_ID
WHERE A.Application_Id=101
  AND LANGUAGE='US'
  OR A.APPLICATION_ID=200
  AND LANGUAGE='US'
  OR A.APPLICATION_ID=222
  AND LANGUAGE='US';

单独但我还没有找到在一个查询中加入它们的方法,你能帮我吗?

Antonio,我想 Brian 给了你很好的建议。如果他的建议没有引导您找到答案,那么在 EBS 论坛(或任何应用程序)上发帖也可能是值得的。我会提供有时加入 table_A 和 table_B 的方式是通过 table_C。也就是说,如果您在一个 se 的查询中没有找到任何直接相关的数据到另一个集合中的 tables 之一,那么查看 FK 定义并指向这些 tables 到看看您是否可以找到 table 当前不属于与集合相关的任一查询的一部分。您弄清楚如何将每个当前查询连接到它,这就是将两个查询连接在一起的方式。

谢谢大家!

你们给我的建议都很有用,我发现 table HR_LEGAL_ENTITIES (Table C) 有两列让我加入 Table A 和 Table B,最终查询为:

SELECT  HAOU.NAME, 
        FAT.APPLICATION_NAME, 
        TO_CHAR(GPS.END_DATE,'HH24:MI DD-MON-YYYY'), 
        GPS.PERIOD_NUM
FROM    HR_ALL_ORGANIZATION_UNITS HAOU 
INNER JOIN HR_LEGAL_ENTITIES HLE
ON  HLE.ORGANIZATION_ID = HAOU.ORGANIZATION_ID
INNER JOIN GL_PERIOD_STATUSES GPS
ON HLE.SET_OF_BOOKS_ID = GPS.SET_OF_BOOKS_ID
INNER JOIN  FND_APPLICATION_TL FAT
ON GPS.APPLICATION_ID = FAT.APPLICATION_ID
WHERE GPS.Application_Id IN (101,200,222) AND LANGUAGE='US'
ORDER BY NAME ASC;

Regards!