可能以前有人问过,但我找不到答案。
表数据有两列:
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)
或(尼斯和 Access 格式...)
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));
关于sql - 获取两个字段值的唯一组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2386632/