例子查询多个表:SQL“凡存在”与别名
Select id, id_dtm
From tableA
Where exists (
Select 1
From tableB b, tableC c, tableD d
Where b.id = id
And b.id_dtm = id_dtm
And b.id = c.id
And c.id = d.id);
上述查询的问题是,所有4个表有一个名为ID和id_dtm列。 当我运行它时,我收到一个错误,说列ORA-00918:列含义不明确
我可以通过在tableA中使用别名来解决问题,但问题是查询是动态生成的。 where exists
部分是在其他地方生成的,并且在稍后它合并之前的那一部分,所以我不能像现在这样使用别名。
有没有什么办法可以在where exists
子句的tableA中使用id和id_dtm,而不使用tableA的别名?
数据库是Oracle10g的
正确的答案,但他明确要求,如果他能做到这一点不使用表A别名。 –
我没有意识到我可以使用表名,所以这应该工作,因为表名将永远是相同的。谢谢! – ziggy
@EricPetroelje:这不使用别名 - 它使用实际的表名称。 –