目录
3.注释掉TM_AREA表的连接,可以看到数据对的上,进一步确认问题出在tm_dealer_patrolman与TM_AREA关联数据上。
4.将TA.AREA改成现在的TP.AREA来看一下,发现问题所在。
5.我们统计值中有负数值,这个负数值没有标记AREA_ID,inner join左右连接条件都满足才会显示,我们找到tm_dealer_patrolman的这条null的数据。
6.给这条数据加上AREA_ID,再查看一下,这次数据对的上了。
问题描述:事情是这样,生产客户测试切换了上一个月的销售数量时,发现统计数据对不上。
1.sql缩写代码如下。
SELECT
'全国' AREA_ID,
SUM( TDD.TARGET ) TARGET,
0 QTY,
0 YOYQTY,
0 YCYQTY
FROM
TT_DEALER_DAYTARGET TDD
WHERE
TDD.TARGET_DATE BETWEEN TO_DATE( '2020-06-01', 'yyyy-mm-dd' )
AND TO_DATE( '2020-06-30', 'yyyy-mm-dd' )
union all
SELECT
TA.AREA_ID,
SUM( TDD.TARGET ) TARGET,
0 QTY,
0 YOYQTY,
0 YCYQTY
FROM
TT_DEALER_DAYTARGET TDD
INNER JOIN TM_DEALER_PATROLMAN TP ON TDD.DEALER_ID = TP.DEALER_ID
INNER JOIN TM_AREA TA ON TP.AREA_ID = TA.AREA_ID
WHERE
TDD.TARGET_DATE BETWEEN TO_DATE( '2020-06-01', 'yyyy-mm-dd' )
AND TO_DATE( '2020-06-30', 'yyyy-mm-dd' )
GROUP BY
TA.AREA_ID