Member 12770648 Ответов: 1

Сжатие нескольких строк в одну строку каждая - оператор select для выполнения


BRN_NAME MADD1 R1 R2 R3 R4
--------------------------------------------------------------------------
Регион ашанти 1 31 NULL NULL NULL
Регион ашанти 4 NULL NULL null 2
Регион ашанти 81 NULL NULL 5 NULL

Большая Аккра регион 1 29 NULL NULL NULL
Большая Аккра регион 4 NULL NULL null 2
Аккра 81 7 нуль нуль нуль

Северный регион 1 20 NULL NULL NULL
Северный регион 81 ноль 45 ноль ноль
Северный регион 484 NULL NULL null 6



ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
===================


BRN_NAME R1 R2 R3 R4
----------------------------------------------------------------------------------
Регион ашанти 31 ноль 5 2

Большая Аккра Регион 29 7 ноль 2

Северный регион 20 45 ноль 6


Нужно уменьшить несколько строк для каждого 'BRN_NAME' в единственном ряду.

Как вы достигаете этого, используя выбирать заявление

Что я уже пробовал:

Продолжающаяся задача развития системы

Richard MacCutchan

Вам нужно решить, какие поля сохранить из каждой записи.

1 Ответов

Рейтинг:
10

Richard Deeming

SELECT
    BRN_NAME,
    Max(R1) As R1,
    Max(R2) As R2,
    Max(R3) As R3,
    Max(R4) As R4
FROM
    YourTable
GROUP BY
    BRN_NAME
;

NB: Если в одном столбце для данного имени имеется несколько ненулевых значений, то будет возвращено самое высокое значение. Если это не то, что вы хотите, то вам нужно будет объяснить, как вы решаете, какую ценность сохранить.