更新语句未在Teradata 15升级后的BTEQ中提供正确的结果

更新语句未在Teradata 15升级后的BTEQ中提供正确的结果,teradata,Teradata,Teradata 15升级后在BTEQ内执行update语句时不起作用。如果从SQL Assistant手动执行,该语句将提供所需的输出。该语句有一个简单的代码 --更新语句 UPDATE MAIN2 FROM PSE_BIX_ABT.TP_ABT_DT_MOB_SBSCR_MAIN2 AS MAIN2, ( SELECT DISTINCT SBSCR_ID,

Teradata 15升级后在BTEQ内执行update语句时不起作用。如果从SQL Assistant手动执行,该语句将提供所需的输出。该语句有一个简单的代码

--更新语句

UPDATE MAIN2
        FROM 
            PSE_BIX_ABT.TP_ABT_DT_MOB_SBSCR_MAIN2 AS MAIN2,
            (
                SELECT DISTINCT
                    SBSCR_ID,  
                    ( SELECT DT FROM PSE_BIX_ABT.TP_ABT_DT_MOB_SBSCR_DT WHERE ID = 1 ) AS SNAP_DT,
                    SRVC_PRVDR_ID AS PORTED_IN_DNR_SP_ID,
                    SRVC_PRVDR_NM AS PORTED_IN_DNR_SP_NM,
                    OREPLACE(OREPLACE(SRVC_PRVDR_DESC,'[Fixed]',''),'[Mobile]','') AS PORTED_IN_DNR_SP_DESC,
                    PORT_STRT_DT AS PORTED_IN_DT,
                    CASE
                        WHEN PORTED_IN_DT = SNAP_DT THEN 1
                        ELSE 0
                    END AS PORTED_IN_CNT
                FROM 
                    PSE_BIX_SL_VW.V_F_PORTED_SBSCRS AS PORTED_SBSCR
                INNER JOIN 
                    PSE_BIX_SL_VW.V_SRVC_PRVDR SRVC
                    ON PORTED_SBSCR.DNR_SRVC_PRVDR_ID = SRVC.SRVC_PRVDR_ID
                WHERE 
                    PORT_IN_FL  = 1
                    AND SBSCR_ID <> -1
                    AND PORT_STRT_DT <= ( SELECT DT FROM PSE_BIX_ABT.TP_ABT_DT_MOB_SBSCR_DT WHERE ID = 1 )
                    AND (SBSCR_ID,PORT_STRT_DT) IN (SEL SBSCR_ID,MAX(PORT_STRT_DT) FROM PSE_BIX_SL_VW.V_F_PORTED_SBSCRS WHERE PORT_STRT_DT <=   ( SELECT DT FROM PSE_BIX_ABT.TP_ABT_DT_MOB_SBSCR_DT WHERE ID = 1 )  GROUP BY 1 )
            ) D_PORT_IN
        SET 
            PORTED_IN_DNR_SP_ID = D_PORT_IN.PORTED_IN_DNR_SP_ID,
            PORTED_IN_DNR_SP_NM = D_PORT_IN.PORTED_IN_DNR_SP_NM,
            PORTED_IN_DNR_SP_DESC = D_PORT_IN.PORTED_IN_DNR_SP_DESC,
            PORTED_IN_DT = D_PORT_IN.PORTED_IN_DT,
            PORTED_IN_CNT = D_PORT_IN.PORTED_IN_CNT
        WHERE 
            MAIN2.SBSCR_ID = D_PORT_IN.SBSCR_ID
            AND MAIN2.SNAP_DT = D_PORT_IN.SNAP_DT; 
同样的,请帮忙。
当前Teradata从14升级到15.10.04.05什么是不工作?错误的结果?错误消息?没有错误消息。数据未得到更新。活动计数为0。更新也无法从SQL assistant运行。我刚才提错了。但它在TD14中工作。如果我们在D_PORT_IN顶部再写一个select,并从D_PORT_IN和alias source中导出snap_DT和PORTED_IN_CNT outside和所有其他3列,并将snap_DT从最后一个where子句中使用,则它可以工作。如果我们注释并部分地MAIN2.SNAP_DT=D_PORT_,则查询也可以工作,只需进行一次检查,确认SNAP DT从内部派生传递了null