在oracle中定义不明确的列

佩尤什

我不是sql专家。我试图在我的oracle sqlplus提示符下运行以下查询

选择0 AS initVal,accountTable 
JOIN loadTable ON num = accNum中选择loadTable.amount,从
loadTable JOIN借贷表ON loadTable.numSeq = loanTable.numSeq中选择

并得到以下错误

列的定义不明确,它指向select子句中的loadTable.amount。

点点我能够明白,有一个笛卡尔积accountsTable JOIN loadTable ON num=accNum ,并loadTable JOIN loanTable ON loadTable.numSeq=loanTable.numSeq在这之后是不是能够从挑哪个表来了解loadTable.amount,因为两者的结果具有此列。有什么办法可以在不指定这两个中间表之间的另一个联接的情况下摆脱此问题loadTable.amount

戈登·利诺夫(Gordon Linoff)

这是您的查询:

select 0 AS initVal, loadTable.amount
from accountsTable JOIN
     loadTable
     ON num=accNum ,
     loadTable JOIN
     loanTable
     ON loadTable.numSeq=loanTable.numSeq;

您的查询有loadtable两次,我认为您不打算这样做。而且,最后一个条件是重言式,因为该值来自同一张表。另外,您应该使用缩写的表别名-它使查询更易于编写和读取。我认为这更接近您要执行的操作:

select 0 AS initVal, lt.amount
from accountsTable act JOIN
     loadTable lt
     ON act.num = lt.accNum JOIN
     loanTable lot
     ON lt.numSeq = lot.numSeq;

作为一般规则:切勿在from语句中使用逗号始终用适当的方式连接表join

编辑:

如果您认为查询在逻辑上是正确的,则应放入表别名并具体说明联接:

select 0 AS initVal, lot1.amount
from accountsTable act JOIN
     loadTable lot1
     ON act.num = lot1.accNum CROSS JOIN
     loadTable lot2 JOIN
     loanTable lnt
     ON lot1.numSeq = lot2.numSeq;

这些连接条件对我来说似乎是无意义的,特别是因为查询amount仅从一个表中提取the ,因此似乎根本没有使用第二个表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle SQL PIVOT“列定义不明确”

来自分类Dev

oracle sql请求列定义不明确

来自分类Dev

Unpivot:列定义不明确

来自分类Dev

SQL 错误 - “列定义不明确”

来自分类Dev

步骤定义不明确

来自分类Dev

ORA-00918:“列定义不明确”

来自分类Dev

内部联接表(列定义不明确)

来自分类Dev

ORA-00918:列定义不明确

来自分类Dev

使用口才,字段列表中的列“ id”不明确

来自分类Dev

字段列表中的“ user_id”列不明确

来自分类Dev

字段列表中的“名称”列不明确

来自分类Dev

1052:字段列表中的列“ memberID”不明确

来自分类Dev

Codeigniter中where子句中的列“ id”不明确

来自分类Dev

字段列表中的列“ student_id”不明确

来自分类Dev

#1052 - 字段列表中的“日期”列不明确

来自分类Dev

Scala:PartialFunction的函数定义不明确

来自分类Dev

列引用 ID 不明确 postgres

来自分类Dev

语法不明确或不明确

来自分类Dev

语法不明确或不明确

来自分类Dev

Java中的类名不明确

来自分类Dev

程序中的指针缺陷不明确

来自分类Dev

SQL查询中列名不明确

来自分类Dev

ORA-00918:插入多行时列的定义不明确

来自分类Dev

无需在代码中进行任何连接即可获得“列的定义不明确”

来自分类Dev

SQL错误:列与子查询不明确地定义

来自分类Dev

DRF:相关字段名称抛出错误列定义不明确

来自分类Dev

仅来自 Java Spark ORA-00918 的错误:列定义不明确

来自分类Dev

获取不明确的对

来自分类Dev

真值不明确