0

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

注意:我对获得不同的行不感兴趣。我只想从此表中获取唯一的整数值,它可以在 A 或 B 中

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

有什么更复杂的(性能方面)?

4

1 回答 1

7

我认为这样的事情应该有效:

选择所有不同的 A,然后选择所有不同的 B' UNION 所有这两个集合从该联合结果集中选择 DISTINCT SELECT DISTINCT * FROM ( SELECT DISTINCT A FROM YourTable UNION ALL SELECT DISTINCT B FROM YourTable )

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

     SELECT A FROM YourTable
     UNION 
     SELECT B FROM YourTable

因为正如他正确指出的那样,常规 UNION 不会返回重复项。您甚至不需要在您的个人 SELECT 上使用 DISTINCT 子句 - 非常巧妙!谢谢,卢卡什!

马克

于 2009-10-10T07:37:04.063 回答