基于表连接中的另一个字段的最大值填充字段

时间:2015-10-28 19:23:08

标签: sql oracle join max

我尝试了几种不同的方法,但还没有成功。

我正在尝试加入tbl1tbl2以显示tbl1中的状态和来自tbl2 tbl1.wonum = tbl2.wonum的状态以及带有{{的记录1}}。

任何人都可以帮忙吗?

max(change_date)的内容:

TBL1

WONUM | STATUS --------------- 1 | text 2 | text 3 | text 4 | text 的内容:

TBL2

1 个答案:

答案 0 :(得分:0)

<强> SqlFiddleDemo

SELECT 
    *
FROM (
      SELECT 
          T1."WONUM", T1."STATUS", T2."STATUS", T2."CHANGEDATE",
          ROW_NUMBER() OVER (PARTITION BY t1."WONUM" ORDER BY "CHANGEDATE" desc) as rn
      FROM TBL1 T1
      JOIN TBL2 T2 
        on T1."WONUM" = T2."WONUM"
    ) t
WHERE t.rn = 1

输出

| WONUM | STATUS_T1 | STATUS_T2 |                CHANGEDATE | RN |
|-------|-----------|-----------|---------------------------|----|
|     1 |   textABC |     text3 | October, 31 2001 00:00:00 |  1 |
|     2 |   textDEF |     text3 | October, 31 2001 00:00:00 |  1 |
|     3 |   textGHI |     text3 | October, 01 2001 00:00:00 |  1 |
|     4 |   textJKL |     text3 | October, 31 2001 00:00:00 |  1 |