取得table最大日期
SELECT K1,K2,D FROM T1 WHERE D = (SELECT MAX(D) FROM T1)
錯誤寫法:join至其他table並抓到最大的日期,此寫法會出現
ORA-01799: 資料欄不可以外部結合的方式與一個子查詢結合
SELECT K,D,D2 FROM T1 LEFT JOIN T2 ON T2.K2 = T1.K AND T2.D2 = (SELECT MAX(D2) FROM T2)
成功寫法:join至其他table並抓到最大的日期
SELECT K,D,D2 FROM T1 LEFT JOIN ( SELECT K2,D2 FROM T2 AA WHERE AA.D2 IN ( SELECT MAX(D2) FROM T2 WHERE T2.K2 = AA.K2 ) )C ON C.K2 = T1.K
沒有留言:
張貼留言