我得到了“模棱两可的列引用”
查询:
SELECT stage.acct_nbr
FROM (SELECT *
FROM mem stage
JOIN (SELECT acct_nbr,
corp_ent_cd,
sub_seq_nbr,
mem_nbr,
Max(cdc_src_last_updt_ts) AS cdc_src_last_updt_ts
FROM mem
WHERE file_nm = 'DLTV.FULL.MES3191.D180423'
GROUP BY acct_nbr,
corp_ent_cd,
sub_seq_nbr,
mem_nbr) c
ON c.corp_ent_cd = stage.corp_ent_cd
AND c.acct_nbr = stage.acct_nbr
AND c.sub_seq_nbr = stage.sub_seq_nbr
AND c.mem_nbr = stage.mem_nbr
AND stage.cdc_src_last_updt_ts = c.cdc_src_last_updt_ts
WHERE stage.file_nm = 'DLTV.FULL.MES3191.D180423') stage;
错误消息:
错误:编译语句时出错:失败:semanticexception[error 10007]:阶段中的列引用acct\u nbr不明确(state=42000,code=10007)
但是,如果我选择*而不是选择stage.acct\u nbr,它将无错误地执行。
有人能解决我的问题吗?
1条答案
按热度按时间oknwwptz1#
问题出现了
SELECT *
.子查询处有两列
c.acct_nbr
,stage.acct_nbr
,太外了SELECT
不能stage.acct_nbr
区分你想要哪个柱状图。所以你可以选择
c.acct_nbr
或者stage.acct_nbr
在你的select
子查询你可以试试这个。