sql выбрать несколько столбцов таблицы - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь выбрать из таблицы в Oracle Oracle DB.

Если я делаю отдельные слова в операторе выбора для одного столбца, он работает нормально, но для нескольких столбцов это не работает.

например.

select DISTINCT col1, col2, col3, col4, col5, col6 from table1

возвращает тот же результат, что и.

select * from table1

Столбец 2, Столбец3 имеет повторяющиеся значения.То, что я хочу, это значения всех приведенных выше значений столбца, но не повторяющиеся значения столбца 2 и столбца 3.

Не могли бы вы помочь.Ваша помощь будет оценена.

Спасибо

Ответы [ 2 ]

5 голосов
/ 05 января 2012

DISTINCT устраняет избыточные данные для каждой строки и выбранных столбцов. Поэтому, если вы выбираете все столбцы таблицы, используя DISTINCT, агрегируются только строки, столбцы которых содержат одинаковые данные.

1 голос
/ 06 января 2012

Попробуйте следующее:

SELECT DISTINCT COL1 AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
       NULL AS COL5, NULL AS COL6 FROM TABLE1
UNION ALL
SELECT NULL AS COL1, DCOL2 AS COL2, NULL AS COL3, NULL AS COL4,
       NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL2 AS DCOL2
                                          FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, DCOL3 AS COL3, NULL AS COL4,
       NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL3 AS DCOL3
                                          FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, DCOL4 AS COL4,
       NULL AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL4 AS DCOL4
                                          FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
       DCOL5 AS COL5, NULL AS COL6 FROM (SELECT DISTINCT COL5 AS DCOL5
                                           FROM TABLE1)
UNION ALL
SELECT NULL AS COL1, NULL AS COL2, NULL AS COL3, NULL AS COL4,
       NULL AS COL5, DCOL6 AS COL6 FROM (SELECT DISTINCT COL6 AS DCOL6
                                           FROM TABLE1);

Делись и наслаждайся.

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