1

我一直在寻找高低,但找不到我能理解的简单解决方案。

我有这个查询:

select * from table_A
Left Outer Join Table_B 
on  table_A.common_column = Table_B.common_column
and Table_B.column = (select max(id) from table_C where value = :BINDVARIABLE) /*Static Number*/

我不断收到以下错误:ORA-01799: a column may not be external-joined to a subquery

任何帮助,将不胜感激

4

1 回答 1

0

您正在尝试使用应该在 WHERE 子句中的条件作为两个表之间的连接。将子查询移动到 WHERE 子句,然后您需要在 table_A 和 table_B 之间的任何公共列上添加连接,如下所示:

SELECT * 
FROM table_A
  LEFT OUTER JOIN Table_B ON table_A.common_column = table_B.common_column
WHERE Table_B.column = (SELECT MAX(id) FROM table_C WHERE value = :BINDVARIABLE) 
于 2013-08-15T12:19:26.023 回答