0

我有两个需要查询的表。我们称它们为表 A 和表 A_HISTORIES。表 A 中的每一行都链接到 A_HISTORIES 中的多行。我想要做的是能够将表 A 中的每一行与表 A_HISTORIES 中最早的历史联系起来,例如:-

SELECT A.*
       A_HISTORIES.CREATED_DATE
FROM   A, A_HISTORIES
WHERE  A.ID = A_HISTORIES.A_ID
AND    A_HISTORIES.ID = (SELECT  max(id) keep (dense_rank first order by CREATED_DATE) 
                         FROM    A_HISTORIES)

但是,这只会返回 A/A_HISTORIES 中具有最早 CREATED_DATE 的行。任何人都可以帮我在 A 中的每一行执行此操作吗?谢谢

4

1 回答 1

0

像这样的东西怎么样:

SELECT A.*
       A_HISTORIES.CREATED_DATE
FROM   A
  INNER JOIN A_HISTORIES ON A.ID = A_HISTORIES.A_ID
  INNER JOIN (SELECT A_ID, MAX(CREATE_DATE) AS max_create_date
              FROM A_HISTORIES
              GROUP BY A_ID) max_hist ON A_HISTORIES.A_ID = max_hist.A_ID 
                                     AND A_HISTORIES.ceate_date = max_create_date
于 2014-05-09T13:52:57.090 回答