简单的SQL查询获取" ORA-00918:列模糊定义"?

时间:2018-03-12 15:31:29

标签: sql oracle

我只是想从一个专栏中获得一笔钱。

SELECT SUM(amount_usd)
FROM WIRE_MSTR, TRANS_MSTR
INNER JOIN WIRE_MSTR ON WIRE_MSTR.trans_id = TRANS_MSTR.trans_id
WHERE WIRE_MSTR.dest_cntry = 'CANADA' AND TRANS_MSTR.trans_yyyymm = '201510';

但是在第4行我得到一个错误" ORA-00918:列模糊定义。" 我引用了所有内容,可能是什么问题?

2 个答案:

答案 0 :(得分:5)

您正在使用隐式和显式连接语法。您应该删除隐式语法:

SELECT SUM(amount_usd)
FROM TRANS_MSTR
INNER JOIN WIRE_MSTR ON WIRE_MSTR.trans_id = TRANS_MSTR.trans_id
WHERE WIRE_MSTR.dest_cntry = 'CANADA' AND TRANS_MSTR.trans_yyyymm = '201510';

问题是,你的FROM子句中有两次WIRE_MSTR

答案 1 :(得分:3)

试试这个。你有两次WIRE_MSTR。

if any(c in someList for c in ("a", "á", "à", "ã", "â"))