2010-09-03 4 views
0

У меня есть два столбца данных. Я хотел бы запустить над ними инструкцию select, которая захватывает все отдельные части данных в этих столбцах 1 раз. Например.Как получить отдельные значения из более чем одного столбца?

*column 1* *column 2* 
dog   monkey 
monkey  elephant 
dog   monkey 

Я хочу быть в состоянии returna результирующего набора, который имеет собаку, обезьяну и слон в нем, и это все.

+2

не фактических ответов на вашу проблему, но ваша конструкция стола может быть кандидатом на Нормализацию .. – InSane

ответ

2

Вы можете использовать два выбирает:

Select column1 As c From t 
Union 
Select column2 From t 

Union будет заботиться о дубликатах:

поведение по умолчанию для UNION является то, что повторяющиеся строки удаляются из результата.

1

Как насчет следующего?

SELECT column1 unique_data FROM your_table 
UNION 
SELECT column2 unique_data FROM your_table; 

Тестовый пример:

CREATE TABLE your_table (column1 varchar(50), column2 varchar(50)); 

INSERT INTO your_table VALUES ('dog', 'monkey'); 
INSERT INTO your_table VALUES ('monkey', 'elephant'); 
INSERT INTO your_table VALUES ('dog', 'monkey'); 

Результат:

+-------------+ 
| unique_data | 
+-------------+ 
| dog   | 
| monkey  | 
| elephant | 
+-------------+ 
3 rows in set (0.00 sec) 
0

Это может быть лил немым: select distinct from (select distinct from first_column union select distinct from second) - не действует SQL, просто логика

0

Использование UNION, образец:

Выход: собаки слона обезьяна

Смежные вопросы