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

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

表数据有两列:

Source   Dest
1         2
1         2
2         1
3         1

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

1       2
3       1

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

更新:确切地说,我试图排除2,1因为1,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)

编辑:

表格数据示例,相同……

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)

或(Nice和Access Formatted …)

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));
点赞