用于在同一列上联接的Oracle查询

用于在同一列上联接的Oracle查询,oracle,self-join,Oracle,Self Join,对于不同的值,如何在同一列上联接,并且两个值都应该是和条件 eg: TABLEA.COLUMNA='XYZ' AND TABLEB.COLUMNA='PQR' 请注意TableA和TableB是同一个表。从您的标记中,您知道需要一个自连接,其中表的两个实例相互连接。这就像你希望的那样简单: select a.id as a_id , b.id as b_id from your_table a cross join your_table b where a.column

对于不同的值,如何在同一列上联接,并且两个值都应该是
条件

eg: TABLEA.COLUMNA='XYZ' AND TABLEB.COLUMNA='PQR'

请注意
TableA
TableB
是同一个表。

从您的标记中,您知道需要一个自连接,其中表的两个实例相互连接。这就像你希望的那样简单:

select a.id as a_id
       , b.id as b_id
from your_table a
     cross join your_table b
where a.columnA = 'XYZ'
and b.columnA = 'PQR'
这个查询在逻辑上没有意义。交叉连接将产生
a.id,b.id
的所有排列的乘积。你可能不想那样。也许你想要这样的东西:

select a.id as a_id
       , b.id as b_id
from your_table a
     join your_table b
       on a.some_other_column = b.some_other_column
where a.columnA = 'XYZ'
and b.columnA = 'PQR'

但是你没有公布所有的标准,所以只有你自己能确定。

不清楚你在问什么。您向我们展示的
ON
子句可能是有效的自连接查询的一部分,但由于您没有显示整个查询或任何数据,这是不确定的。