4

我有一个 Access 2010 数据库,它存储源机器和目标机器的 IP 地址。如果我的数据库中有以下条目

|来源 | 目的地|
|--------------------------------|
| 一个 | 乙|
| 乙| 一个 |
| 一个 | 乙|
| C | D |
| D | D |

是否有任何查询可以选择唯一对?也就是说,查询的输出应该是

|来源 | 目的地|
|----------------------------------|
| 一个 | 乙|
| C | D |
4

3 回答 3

7

你的问题似乎暗示了两件事:

  1. 列出源/目标对时,您只想查看一个方向的对,例如 (A,B) 而不是 (B,A)。

  2. 该列表应省略源和目标相同的对,例如 (D,D)

在这种情况下,查询...

SELECT DISTINCT source, destination
FROM
    (
            SELECT source, destination
            FROM SomeTable
        UNION ALL
            SELECT destination, source
            FROM SomeTable
    )
WHERE source < destination

...当针对包含...的 [SomeTable] 运行时

source  destination
------  -----------
A       B          
B       A          
A       B          
C       D          
D       D          
E       D          

...将产生:

source  destination
------  -----------
A       B          
C       D          
D       E          
于 2013-10-07T12:09:14.803 回答
0

从 YourTable 中选择唯一的来源、目的地

或者

从 YourTable 中选择不同的来源、目的地

或者

按源、目标从 YourTable 组中选择源、目标

于 2013-10-07T08:47:49.577 回答
0

使用GROUP BY子句

SELECT  source, destination 
FROM SomeTable
GROUP BY source, destination 
于 2013-10-07T09:15:36.563 回答