0
我遇到SQL語句問題。首先,這裏有值從我的DB2表:SQL DB2 - 使用MAX的嵌入式SELECT
CLT_ID FP_NDT PRD_TCD CLP_DATE_CDTTM FP_SDT CLP_TCD CLP_DATE
------------------------------------------------------------------------------------------------
100085059 2015-06-30 01 2015-11-27-20.14.28.295209 2014-07-01 01 0001-01-01
100085059 2014-06-30 01 2015-11-27-20.14.28.284432 2013-07-01 01 0001-01-01
100085059 2015-06-30 01 2015-11-02-20.04.39.755865 2014-07-01 01 2026-01-30
100085059 2014-06-30 01 2015-10-15-00.00.00.001257 2013-07-01 01 2025-02-20
我的選擇應該與價值(0001-01-01)和最近CLP_DATE_CDTTM返回MIN行CLP_DATE。這裏是我的選擇似乎並不工作:
SELECT MIN(CLP_DATE)
FROM TCDECF A
WHERE A.CLT_ID = 100085059
AND A.CLP_DATE >= '2015-10-15'
AND A.CLP_DATE_CDTTM =
(SELECT MAX(B.CLP_DATE_CDTTM)
FROM TCDECF B
WHERE B.CLT_ID = A.CLT_ID
AND B.FP_NDT = A.FP_NDT
AND B.PRD_TCD = A.PRD_TCD)
WITH UR;
此代碼不會返回任何內容。我想是因爲「AND A.CLP_DATE> ='2015-10-15」這一行。有沒有辦法說「選擇任何東西> =比這個日期,但如果它什麼都不返回,那麼返回0001-01-01」?
你能提供一個你期待輸出結果的樣本嗎? – gmiley
我期待'0001-01-01'作爲輸出(根據CLP_DATE_CDTTM列的表中最近的一行,它是CLP_DATE列的MIN值)。 – gamefreak249