左外连接中的子查询

时间:2013-08-15 12:10:31

标签: subquery outer-join

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

我有这个问题:

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:列可能不是外部连接到子查询

任何帮助将不胜感激

1 个答案:

答案 0 :(得分: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) 
相关问题