获取两个字段值的唯一组合

SQL*_*00b 5 sql ms-access

可能以前有人问过,但我找不到答案。

表数据有两列:

Source   Dest
1         2
1         2
2         1
3         1
Run Code Online (Sandbox Code Playgroud)

我试图提出一个 MS Access 2003 SQL 查询,它将返回:

1       2
3       1
Run Code Online (Sandbox Code Playgroud)

但一切都无济于事。请帮忙!

更新:确切地说,我试图排除 2,1,因为 1,2 已经包含在内。我只需要独特的组合,其中顺序并不重要。

Adr*_*der 2

对于 Ms Access 你可以尝试

SELECT  DISTINCT
        *
FROM Table1 tM
WHERE NOT EXISTS(SELECT 1 FROM Table1 t WHERE tM.Source = t.Dest AND tM.Dest = t.Source AND tm.Source > t.Source)
Run Code Online (Sandbox Code Playgroud)

编辑:

以表数据为例,这是相同的......

SELECT  DISTINCT
        *
FROM Data  tM
WHERE NOT EXISTS(SELECT 1 FROM Data t WHERE tM.Source = t.Dest AND tM.Dest = t.Source AND tm.Source > t.Source)
Run Code Online (Sandbox Code Playgroud)

或(尼斯和访问格式化...

SELECT DISTINCT *
FROM Data AS tM
WHERE (((Exists (SELECT 1 FROM Data t WHERE tM.Source = t.Dest AND tM.Dest = t.Source AND tm.Source > t.Source))=False));
Run Code Online (Sandbox Code Playgroud)