问题描述
此查询1返回9行,该行返回一行带有额外的分区代码AII
,而在表TRAIN_RUNNING_INFO
中,仅属于一个分区JU
的记录可以可以从查询3的输出中得到验证。请指导为什么第一个查询返回额外的AII的记录。
--------------------查询1 ----------------------- >
SELECT A.TRAIN_ID,A.TRAIN_NUMBER,A.TRAIN_START_DATE,A.SOURCE,A.DESTINATION,B.DIVISION_CODE,B.STATION_CODE,A.SCHEDULED_DATE,B.ACTUAL_DATE,B.ACTUAL_TIME,A.ACTUAL_DATE AS REPORT_DATE FROM
(
SELECT DISTINCT TRAIN_ID,TRAIN_NUMBER,TRAIN_START_DATE,ACTUAL_DATE,SOURCE,DESTINATION,SCHEDULED_DATE,MY_RANK FROM
(
SELECT DISTINCT TRAIN_ID,DIVISION_CODE,RANK() OVER (PARTITION BY TRAIN_ID,TRAIN_START_DATE ORDER BY ACTUAL_DATE DESC,ACTUAL_TIME DESC)AS MY_RANK
FROM TRAIN_RUNNING_INFO
WHERE TRAIN_CATG='L'
AND TRAIN_ID='BGK 140920212028'
)WHERE MY_RANK=1 AND ACTUAL_DATE='15-Sep-2020'
)A,TRAIN_RUNNING_INFO B
WHERE A.TRAIN_ID=B.TRAIN_ID
AND A.TRAIN_START_DATE=B.TRAIN_START_DATE
ORDER BY ACTUAL_DATE,ACTUAL_TIME
此查询的输出为
-------------------表中存在记录(查询2)------------------- ----------------------------
SELECT DISTINCT * FROM TRAIN_RUNNING_INFO
WHERE TRAIN_CATG='L'
AND TRAIN_ID='BGK 140920212028'
此查询的输出为
-----------------------------除法验证(查询3)----------- ----------------------
SELECT DISTINCT DIVISION_CODE FROM TRAIN_RUNNING_INFO
WHERE TRAIN_CATG='L'
AND TRAIN_ID='BGK 140920212028' AND TRAIN_START_DATE='14-Sep-2020'
此查询的输出为
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)