
发生版本:
1)原始sql:
SELECT B.FROM_SYS_ID, B.SYNC_TX_DATE, B.JOUR_NO
FROM (SELECT FROM_SYS_ID, MAX(SYNC_TX_DATE) SYNC_TX_DATE
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID) A,
(SELECT FROM_SYS_ID, SYNC_TX_DATE, MAX(JOUR_NO) JOUR_NO
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID, SYNC_TX_DATE) B
WHERE A.FROM_SYS_ID = B.FROM_SYS_ID
AND A.SYNC_TX_DATE = B.SYNC_TX_DATE;
结果:
2)改写sql41:
SELECT B.FROM_SYS_ID, B.SYNC_TX_DATE, B.JOUR_NO_01
FROM (SELECT FROM_SYS_ID, MAX(SYNC_TX_DATE) SYNC_TX_DATE_01
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID) A,
(SELECT FROM_SYS_ID, SYNC_TX_DATE, MAX(JOUR_NO) JOUR_NO_01
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID, SYNC_TX_DATE) B
WHERE A.FROM_SYS_ID = B.FROM_SYS_ID
AND A.SYNC_TX_DATE_01 = B.SYNC_TX_DATE;
结果:
3)改写sql45:
WITH A AS
(SELECT /materialize/ FROM_SYS_ID, MAX(SYNC_TX_DATE) SYNC_TX_DATE
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID),
B AS
(SELECT /materialize/ FROM_SYS_ID, SYNC_TX_DATE, MAX(JOUR_NO) JOUR_NO
FROM TT_SYNC_JOUR_DEAL_LOG
GROUP BY FROM_SYS_ID, SYNC_TX_DATE)
SELECT B.FROM_SYS_ID, B.SYNC_TX_DATE, B.JOUR_NO
FROM A, B
WHERE A.FROM_SYS_ID = B.FROM_SYS_ID
AND A.SYNC_TX_DATE = B.SYNC_TX_DATE;
结果:
4)改写sql46:
"SELECT b.FROM_sys_id,b.sync_tx_date,b.jour_no FROM "
"(SELECT FROM_sys_id,max(sync_tx_date) sync_tx_date_01 FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id) a, "
"(SELECT FROM_sys_id,sync_tx_date,max(jour_no) jour_no FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id,sync_tx_date) b "
“WHERE a.FROM_sys_id=b.FROM_sys_id AND a.sync_tx_date_01=b.sync_tx_date”;
5)改写sql47:
"SELECT b.FROM_sys_id,b.sync_tx_date,b.jour_no_01 FROM "
"(SELECT FROM_sys_id,max(sync_tx_date) sync_tx_date FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id) a, "
"(SELECT FROM_sys_id,sync_tx_date,max(jour_no) jour_no_01 FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id,sync_tx_date) b "
“WHERE a.FROM_sys_id=b.FROM_sys_id AND a.sync_tx_date=b.sync_tx_date”;
6)改写sql48:
"SELECT t2.FROM_sys_id,t2.sync_tx_date,t2.jour_no FROM "
"(SELECT FROM_sys_id,max(sync_tx_date) sync_tx_date FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id) t1, "
"(SELECT FROM_sys_id,sync_tx_date,max(jour_no) jour_no FROM TT_SYNC_JOUR_DEAL_LOG GROUP BY FROM_sys_id,sync_tx_date) t2 "
“WHERE t1.FROM_sys_id=t2.FROM_sys_id AND t1.sync_tx_date = t2.sync_tx_date”;
涉及的表TT_SYNC_JOUR_DEAL_LOG DDL语句如下:
恳请大神帮忙知道,该如何排除这个查询问题出在哪里了。
不胜感激。