Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Группировка по определенным отделам  [new]
serega063
Member

Откуда:
Сообщений: 185
Здравствуйте!
Имеется фактические и плановые показатели по отделам
DECLARE @tbl TABLE (department VARCHAR(255), fact FLOAT, xplan FLOAT)

INSERT INTO @tbl (department,fact,xplan)
SELECT 'P1', 44.7, 44.7  union all
SELECT 'P2', 44.5, NULL  union all
SELECT 'P4', 74.5, 74.5  union all
SELECT 'P4', 74.5, 74.5  union all
SELECT 'P2', 44.5, NULL  union all
SELECT 'P1', 57.5, 57.5  union all
SELECT 'P3', 41.5, 41.5  union all
SELECT 'P1', 15.5, 15.5  union all
SELECT 'P1', 54.5, 54.5  union all
SELECT 'P2', 13.5, NULL  union all
SELECT 'P1', 23.5, 23.5  union all
SELECT 'P2', 33.5, 33.5  union all
SELECT 'P1', 43.5, 43.5  union all
SELECT 'P1', 53.5, 53.5  union all
SELECT 'P2', 63.5, NULL


select * from @tbl

Задача, нужно сложить данные только по P1, P2, и P3, а P4 оставить как есть
Другими словами отделы P1, P2, P3 объединили в отдел P1

На выходе должен быть объединенный отдел P1 и P4

Помогите плиз, а то уже голову сломал
Заранее благодарен
30 июл 15, 10:49    [17953811]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по определенным отделам  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
case ?
30 июл 15, 10:56    [17953828]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по определенным отделам  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
serega063, Добавьте еще одну таблицу с колонками - "старый отдел" - "новый отдел". для P1, P2, и P3 сопоставьте P1, для Р4 - Р4, делайте join и группировку по новому отделу.
30 июл 15, 10:56    [17953829]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по определенным отделам  [new]
_djХомяГ
Guest
Maxx прав
Так симпотишней
select  department= case when department in ('P1','P2','P3') then 'P1' else department end ,sum(fact),sum(xplan) 
from @tbl
group by case when department in ('P1','P2','P3') then 'P1' else department end
30 июл 15, 10:59    [17953848]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по определенным отделам  [new]
serega063
Member

Откуда:
Сообщений: 185
Пацаны ваще ребята!
Спасибо, а то тупил пол дня
30 июл 15, 11:06    [17953884]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить