的Oracle SQL:如何找到并删除重复的Oracle SQL:查找并删除重复(在不同的列值相同)
我只有只读访问Oracle(仅可以使用SELECT命令)。
逻辑:两个用户 'A' & 'B' 由具有相同公司名称&名字
列提取:
ID of A
ID of B
Company Name of A
Company Name of B
First Name of A
First Name of B
我使用以下查询:
select a.id, b.id, a.name, b.name, a.company, b.company from
(select id, company, name where country = 'USA') a,
(select id, company, name where country = 'UK') b
where a.id <> b.id
and lower(a.company) = lower(b.company)
and a.username = b.username
在这里我得到的每一行两次(请参见下表):
A_ID .......... B_ID .......... A_NAME .... ...... B_NAME .......... A_COMPANY .......... B_COMPANY
3592382 .... 1977967 .... Peter ...... ..........彼得................. ABC ..................... A.B.C.
1977967 .... 3592382 .... Peter ................ Peter ................. A.B.C. ..................... A.B.C.
5949363 .... 5941818 .... Joseph ............ Joseph .............. X.Y.Z. ........................ X.Y.Z.
5941818 .... 5949363 .... Joseph ............ Joseph .............. X.Y.Z. ........................ X.Y.Z.
别的人都提到了一些任何有价值的数据你的语法错了,但我看到一个更基本的问题。为什么美国和英国公司在同名时会被认为是重复的? –