SQL Server - 来自多个(2)列的不同值

时间:2009-10-10 07:32:39

标签: sql sql-server distinct

假设我有两列整数,A和B.现在我想从这些中得到不同的值,这意味着如果A和B都有1,我只需要1次。

注意:我对获得不同的行不感兴趣。我只想从这个表中得到唯一的整数值,可以是A或B

我可以在某个临时表的一列中插入A和B的值,并对该列执行select选择。

更复杂(表现)?

1 个答案:

答案 0 :(得分:6)

我想这样的事情应该有用:

<击>  选择所有不同的A,然后选择所有不同的B'  UNION ALL这两套  从该工会化结果集中选择DISTINCT      SELECT DISTINCT * FROM        (          从YourTable中选择DISTINCT A          UNION ALL          从YourTable中选择DISTINCT B.        )

在Lukáš的帮助下,您可以简单地写一下:

     SELECT A FROM YourTable
     UNION 
     SELECT B FROM YourTable

因为他理所当然地指出,常规UNION不会返回任何重复项。你甚至不需要在你的个人SELECT上有一个DISTINCT子句 - 非常巧妙!谢谢,Lukáš!

马克