gpt4 book ai didi

sql - 左连接多个表 - "ORA-00904:invalid identifier"错误

转载 作者:行者123 更新时间:2023-12-05 02:21:53 27 4
gpt4 key购买 nike

我正在尝试查找表 2 中的所有记录,这些记录在表 3 或表 4 中均不存在。我必须在查询中使用表 1,因为它为我提供了将表 2 与表 3 连接起来的键和表 4。

但是,我一直在“T1.COL3”上收到 “ORA-00904:invalid identifier”错误

下面是我的查询:

Select T1.COL1 FROM  Tab1 T1 , Tab2 T2
LEFT JOIN Tab3 T3 ON (T2. COL1=T1.COL1 AND T3. COL2=T1.COL3)
LEFT JOIN Tab4 T4 ON (T2. COL1=T1.COL1 AND T4. COL2=T1.COL3)
where ( T3. COL2 IS NULL and T4. COL2 IS NULL);

最佳答案

由于 Oracle 查询优化器中的 BUG,我正在处理类似的错误。

然而,正如我在您的查询中看到的那样,将 ansi sql(左外连接)与“,”混合使用表明连接至少是棘手的。

我相信你的情况,在“,”之前有 T1 使得它在被解释为仅包括 T2、T3 和 T4 的 ON 子句中不可见。

我会尝试像这样包装它

Select T1.COL1 FROM  Tab1 T1  inner join Tab2 T2 on T2. COL1=T1.COL1
LEFT JOIN Tab3 T3 ON T3. COL2=T1.COL3
LEFT JOIN Tab4 T4 ON T4. COL2=T1.COL3
where ( T3. COL2 IS NULL and T4. COL2 IS NULL);

关于sql - 左连接多个表 - "ORA-00904:invalid identifier"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755640/

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