Dav*_*vid 2 sql oracle sqlplus
我试图在不同的表上选择多行,但无论我做什么,我都无法工作.我收到此错误:
Error(14,1): PL/SQL: ORA-00918: column ambiguously defined
Run Code Online (Sandbox Code Playgroud)
代码(注意,这是触发器的一部分,这就是为什么:new):
SELECT brw.borage, bt.agelower, bt.ageupper
INTO borAge, minAge, maxAge
FROM Borrower brw, BookTitle bt
INNER JOIN BookCopy bc ON :new.bcID = bc.bcID
INNER JOIN BookTitle bt ON bt.isbn = bc.isbn
Run Code Online (Sandbox Code Playgroud)
注意:BookTitle只有一个ageLower和ageUpper列.除了borAge,minAge和maxAge之外,没有任何变化.
Tre问题是你有两次相同的别名,试试这个:
SELECT brw.borage, bt.agelower, bt.ageupper
INTO borAge, minAge, maxAge
FROM Borrower brw, BookTitle bt
INNER JOIN BookCopy bc ON :new.bcID = bc.bcID
INNER JOIN BookTitle bt2 ON bt2.isbn = bc.isbn
Run Code Online (Sandbox Code Playgroud)
但是这可以为您提供比预期更多的结果,因为您将BookTitle表放在FROM部分上.
我认为只有这可能是你真正需要的:
SELECT brw.borage, bt.agelower, bt.ageupper
INTO borAge, minAge, maxAge
FROM Borrower brw
INNER JOIN BookCopy bc ON :new.bcID = bc.bcID
INNER JOIN BookTitle bt ON bt.isbn = bc.isbn
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7561 次 |
| 最近记录: |