SQL:排除重复项

SQL:排除重复项,sql,Sql,我是SQL新手,需要删除SELECT语句中的重复项 选项卡如下所示: | name 1 | name 2| | John | Lukas | | Simon | John | | Lukas | John | | Lukas | Simon | 输出应如下所示: name 1 name 2 John Lukas Simon John (Lukas John) this should be excluded Lukas Simon 但其中又一次出现了

我是SQL新手,需要删除SELECT语句中的重复项

选项卡如下所示:

| name 1 | name 2|
| John   | Lukas |
| Simon  | John  |
| Lukas  | John  |
| Lukas  | Simon |
输出应如下所示:

name 1   name 2
John     Lukas
Simon    John
(Lukas    John) this should be excluded
Lukas    Simon
但其中又一次出现了卢卡斯·约翰。我试过使用DISTINCE,但它不起作用。谁能帮帮我吗?提前谢谢

一种方法是:

select name1, name2
from t
where name1 < name2 or
      not exists (select 1 from t t2 where t2.name1 = t.name2 and t2.name2 = t.name1);
这假设重复项只是可能顺序相反的对。如果可以有完整的副本,请使用“选择不同的”。

一种方法是:

select name1, name2
from t
where name1 < name2 or
      not exists (select 1 from t t2 where t2.name1 = t.name2 and t2.name2 = t.name1);

这假设重复项只是可能顺序相反的对。如果您可以拥有完整的副本,则使用“选择不同的”。

虽然您想要的是可能的,但这看起来是一个严重的设计问题。为什么不将列指定为名字和姓氏呢。另外,删除重复项是因为你认为没有两个人可以有相同的名字。虽然你想要的是可能的,但这看起来是一个严重的设计问题。为什么不将列指定为名字和姓氏呢。另外,删除重复项是你认为没有两个人可以有相同的名字。非常感谢,这就是我要找的!非常感谢,这就是我要找的!