は、私はこのようなテーブルを持っている:oracleで異なるRowidを使用して同様のデータを検索する方法は?
X Y
======
20 20
20 20
20 21
23 22
22 23
21 20
私はどこX=Y
これらのROWIDのを見つける必要があるが、そのROWIDは同じではありませんか?第1行のX
と第2行のY
は同じですが、それらは異なる行にあります。
は、私はこのようなテーブルを持っている:oracleで異なるRowidを使用して同様のデータを検索する方法は?
X Y
======
20 20
20 20
20 21
23 22
22 23
21 20
私はどこX=Y
これらのROWIDのを見つける必要があるが、そのROWIDは同じではありませんか?第1行のX
と第2行のY
は同じですが、それらは異なる行にあります。
を働くあなたはそれを多くの方法を行うことができ、あなたがrowid
を育てているので、これはそれらのいずれかの場合:
select * from yourtable tab1 join yourtable tab2 on tab1.x = tab2.y and tab1.rowid <> tab2.rowid
あなたが重複行をしたい:
select *
from
(
select x, y, rowid, count(*) over (partition by x,y) as cnt
from tab
where x=y
) dt
where cnt > 1
確認してください、これは
select * from tab a where exists (select * from tab b where a.x=b.y and a.rowid!=b.rownid);
rownumの意味は 無効なuser.table.column、table.column、または列の指定 – 5A9U
ROWNUMは、問合せから行が出力されるときに生成される疑似列です。これは表内の列ではありません。おそらくあなたはROWIDを意味しましたか? –
クエリ結果の2つの異なる行に対して '' ROWID''は決して同じではありません – mmuzahid
どの 'ROWID'値が必要ですかあなたの出力に?例えば、値「20」は、異なる「ROWID」を有するレコードの複数の一致する対を有する。どのような価値がありますか? –
なぜrowIDが必要ですか? –