SQL Server - отличное значение от нескольких (2) столбцов - PullRequest
0 голосов
/ 10 октября 2009

предположим, у меня есть два столбца целых чисел, A и B. Теперь я хочу отличные значения от них, то есть, если у A и B есть 1, я хочу 1 только один раз.

Примечание: я НЕ заинтересован в получении отдельных строк. Я просто хочу получить уникальные целочисленные значения из этой таблицы, которые могут быть либо в A или B

Я мог бы вставить значения A и B в один столбец некоторой временной таблицы и сделать выборку по этому столбцу.

Что-нибудь более сложное (с точки зрения производительности)?

1 Ответ

6 голосов
/ 10 октября 2009

Что-то подобное должно работать, я думаю:

выберите все различные А, затем все различные B ' СОЮЗ ВСЕХ этих двух комплектов выберите DISTINCT из этого набора результатов объединения ВЫБЕРИТЕ ОТЛИЧИЕ * ОТ ( ВЫБЕРИТЕ ОТЛИЧИЕ ОТ YourTable СОЮЗ ВСЕХ ВЫБЕРИТЕ ОТЛИЧИЕ B ОТ ВАШИХ ТАБЛИЦ )

С помощью Лукаша вы можете просто написать:

     SELECT A FROM YourTable
     UNION 
     SELECT B FROM YourTable

поскольку, как он справедливо указывает, обычный UNION не возвращает дубликатов. Вам даже не нужно иметь предложение DISTINCT для ваших отдельных SELECT - довольно изобретательно! Спасибо, Лукаш!

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...