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

Откуда: Calgary
Сообщений: 1167
в результате запроса получаю такую выборку:
IdTeamPeriod1Period2Period3Period4
1NPDTNULLNULLNULLNULL
1NPDTNULLS/ P/NULLNULL
1NPDTS/ P/ P/NULLNULLNULL
2EngineeringNULLNULLNULLNULL
2EngineeringNULLNULLNULLNULL
3MarketingNULLNULLNULLNULL
3MarketingNULLNULLNULLP/
4Domestic SalesNULLNULLNULLNULL
5VendorsNULLNULLNULLNULL
6ManufacturingNULLNULLNULLNULL

есть ли какой-то функционал - чтобы "агрегировать" (я понимаю, что нельзя суммировать varchar, применяя group by) в финальную таблицу так, чтобы были уникальные строки и по одному значению в ячейке для каждой колонки?
IdTeamPeriod1Period2Period3Period4
1NPDTS/ P/ P/S/ P/NULLNULL
2EngineeringNULLNULLNULLNULL
3MarketingNULLNULLNULLP/
4Domestic SalesNULLNULLNULLNULL
5VendorsNULLNULLNULLNULL
6ManufacturingNULLNULLNULLNULL


по сути - схлопнуть NULL, но оставить обший NULL там, где вообще ничего нет
25 апр 12, 00:03    [12466505]     Ответить | Цитировать Сообщить модератору
 Re: Псевдоагрегация - суммировать (избавиться от NULL значений) и сделать уникальный список  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
select
 id, Team, min(Period1), min(Period2), min(Period3), min(Period4)
from
 MyTable
group by
 id, Team;
25 апр 12, 00:08    [12466520]     Ответить | Цитировать Сообщить модератору
 Re: Псевдоагрегация - суммировать (избавиться от NULL значений) и сделать уникальный список  [new]
Alexander2
Member

Откуда: Calgary
Сообщений: 1167
invm,
спасибо, все пашет!

(блин, вот такой вариант даже не приходил в голову!)
25 апр 12, 01:11    [12466669]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить