Строки в столбцы - PullRequest
       26

Строки в столбцы

2 голосов
/ 03 ноября 2010

У меня есть таблица типа

cases    open/close    count 
-----------------------------
A        open          10       
A        close         15
B        open          6
B        close         4

Мне нужно получить таблицу результатов, которая выглядит как

cases   total     open     close  
---------------------------------
A       25        10       15
B       10        6        4

Есть идеи по этому поводу?

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

Обычно это называется сводным запросом, преобразующим строку в столбчатые данные.Используйте:

  SELECT t.cases,
         SUM(t.count) AS total,
         SUM(CASE WHEN t.open_close = 'open' THEN t.count ELSE 0 END) AS open,
         SUM(CASE WHEN t.open_close = 'close' THEN t.count ELSE 0 END) AS close
    FROM YOUR_TABLE t
GROUP BY t.cases

Oracle не добавляла синтаксис ANSI PIVOT (и UNPIVOT) до 11g.

0 голосов
/ 03 ноября 2010

Вы можете использовать сводку для случаев столбцов и общую сумму подсчета.

...