gpt4 book ai didi

sql - Oracle SQL 列使用 UNION ALL 定义不明确

转载 作者:行者123 更新时间:2023-12-02 20:17:46 24 4
gpt4 key购买 nike

我有两个具有相似数据的表,我需要查询表的并集。我更改了我使用的实际表名称,只是为了说明问题:

SELECT
UORD.ORDER_NUM
FROM
(SELECT ORDER_ID, ORDER_NUM, PKG_ID
FROM ORDER
UNION ALL
SELECT ORDER_ID, ORDER_NUM, PKG_ID
FROM AMENDING_ORDER) UORD
INNER JOIN PLAN ON PLAN.PKG_ID = UORD.PKG_ID;

我明白

ORA-00918: column ambiguously defined

由于 PKG_ID 上的 INNER JOIN 导致错误。

我的实际查询在订单项上还有几个联接,最初我只使用第一个表开始,例如ORDER,效果很好。

有什么方法可以在查询中定义这个表联合,这样它就不会含糊不清吗?

最佳答案

您可以尝试在列名前加上表名(别名)以更加明确:

SELECT
UORD.ORDER_NUM
FROM
(SELECT O.ORDER_ID, O.ORDER_NUM, O.PKG_ID
FROM ORDER O
UNION ALL
SELECT AO.ORDER_ID, AO.ORDER_NUM, AO.PKG_ID
FROM AMENDING_ORDER AO) UORD
INNER JOIN PLAN ON PLAN.PKG_ID = UORD.PKG_ID;

关于sql - Oracle SQL 列使用 UNION ALL 定义不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com