oracle相交不起作用

时间:2012-07-02 15:59:51

标签: sql oracle

在Oracle SQL中,为什么这段代码不能编译? Oracle不支持交叉? intersect只需要一个列值吗?

假设两个表具有相同的列类型。

由于

select B.name, B.id from tmp_B B where B.id in (select distinct id from tmp_A);
intersect
select distinct A.name, A.id from tmp_A A;

错误消息

Error report:
Unknown Command

1 个答案:

答案 0 :(得分:0)

您的语句中存在语法错误。在初始SELECT之后和INTERSECT之前,您有一个额外的分号。

select B.name, B.id from tmp_B B where B.id in (select distinct id from tmp_A)
intersect
select distinct A.name, A.id from tmp_A A
假设IDNAME在两个表中具有相同的数据类型,

应该是一个有效的SQL语句。