簡體   English   中英

在子查詢中定義不明確的列,並在另一個子查詢中加入

[英]Column ambigously defined in subquery with join on another subquery

加入兩個子查詢時,我一直收到列模糊定義的錯誤。 但是,我已經正確定義了所有列。 我想從第一個查詢中獲取所有數據,並在可用的情況下向其中添加一些數據。 如何解決?

SELECT 
    sq2.month,
    sq1.PRIMARY_MER_NUM ,
    sq1.PRIMARY_EXT_MID ,
    sq1.MER_DBA_NAM, 
    sq1.CLG_NUM, 
    sq1.ENT_NUM, 
    sq1.ENT_NAM, 
    sq1.MER_OPN_DTE, 
    sq1.MER_CLS_DTE, 
    sq1.MER_FST_DPST_DTE,
    sq1.CLG_NUM ,
    sq1.ENT_NUM,
    sq2.gross_volume,
    sq2.transaction_count
FROM 
    (SELECT DISTINCT
        PRIMARY_MER_NUM ,
        PRIMARY_EXT_MID ,
        MER_DBA_NAM,
        CLG_NUM, 
        ENT_NUM, 
        ENT_NAM, 
        MER_OPN_DTE, 
        MER_CLS_DTE, 
        MER_FST_DPST_DTE,
        CLG_NUM ,
        ENT_NUM 
     FROM
         bi.t_mer_dim_na 
     WHERE
         CLG_NUM = 7
         AND ENT_NUM IN ('45810', '45811', '46849', '45948', '45824',
                         '46911', '45509', '46845', '48902')
    ) sq1
LEFT JOIN 
    (SELECT 
         TRUNC(BAT_REF_DTE, 'MM') AS month,
         MER_NUM,
         SUM(bat_prd_trn_dr_amt + bat_prd_trn_cr_amt) AS gross_volume, 
         SUM(bat_item_num) AS transaction_count
     FROM 
         TDS.BAT_T3 
     WHERE 
         1 = 1
         AND bat_ref_dte >= TRUNC(sysdate, 'MM') 
     GROUP BY
         TRUNC(BAT_REF_DTE, 'MM'), MER_NUM) SQ2 ON sq1.primary_mer_num = sq2.MER_NUM;

您在第一個派生表SQL1兩次選擇了CLG_NUMENT_NUM

FROM (
select DISTINCT
PRIMARY_MER_NUM ,
PRIMARY_EXT_MID ,
MER_DBA_NAM,
CLG_NUM, --1
ENT_NUM, --1
ENT_NAM, 
MER_OPN_DTE, 
MER_CLS_DTE, 
MER_FST_DPST_DTE,
CLG_NUM, --2
ENT_NUM  --2
from bi.t_mer_dim_na 

這使得在外部選擇中選擇sql1.CLG_NUMsql1.ENT_NUM不明確(您同時選擇了兩次)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM