Семинар #7 совместно с Sumy .NET User Group (добавлены тезисы!)

zx

Member
Re: Семинар #7 совместно с Sumy .NET User Group (обновлено!)

кстати я тольком и ненашол там что такое .NET, я хоть и знаю что это...
...
правда я непонял к чему так БД, потоки, класы.... э то все есть и не в .NET))
тема доклада - перечисление умелок, на которые обращают внимание при найме разработчиков. никто не собирался никого ничему научить в этом обзоре умений.

или я непонял вообще тему доклада)
типа того.

Чувствую себя вундеркиндом ;)

...

select acc, [1] sum01, [2] sum02, [3] sum03, [4] sum04, [5] sum05, [6] sum06,
[7] sum07, [8] sum08, [9] sum09, [10] sum10, [11] sum11, [12] sum12,
[1]+[2]+[3]+[4]+[5]+[6]+[7]+[8]+[9]+[10]+[11]+[12] sumTotal
from (select acc, month, sum from @T) t
pivot
(
sum(sum) for month in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
) p

З.Ы. Работает только на 2008-м сервере (ну или при небольших модификациях вставки данных -- еще и на 2005-м)
мы пока что 2000й вертим. я имел в виду кросовое решение на выражениях CASE, никакого изящества, но работать будет кругом.
но ваше внимание все равно лестно.
 

artvolk

Member
Модератор
Напоминаю -- семинар состоится в субботу на этой неделе.
 

Aleon

Member
Re: Семинар #7 совместно с Sumy .NET User Group (обновлено!)

мы пока что 2000й вертим.
Мы тоже, но новые технологии знать не помешает.

Вот это будет работать и в 2000-м:

Код:
declare @T table 
    ([id] int identity(1,1) primary key, 
     month int, sum money, acc int)
insert into @T 
select 1, 100, 10000
union all select 2, 300, 10000
union all select 3, 100.35, 10000
union all select 4, 710, 10000
union all select 5, 32, 10000
union all select 6, 10, 10000
union all select 7, 11, 10000
union all select 8, 21, 10000
union all select 9, 35.70, 10000
union all select 10, 3254.12, 10000
union all select 11, 123.12, 10000
union all select 12, 200.56, 10000
union all select 1, 103, 10000
union all select 2, 304, 10000
union all select 3, 105.35, 10000
union all select 4, 7140, 10000
union all select 5, 334, 10000
union all select 6, 1434, 10000
union all select 7, 134, 10000
union all select 8, 2343, 10000
union all select 9, 352.70, 10000
union all select 10, 324.12, 10000
union all select 11, 1233.12, 10000
union all select 12, 1004.56, 10000
union all select 1, 200.56, 20000
union all select 2, 456.54, 20000
union all select 3, 987.35, 20000
union all select 4, 710.45, 20000
union all select 5, 32.32, 20000
union all select 6, 10.12, 20000
union all select 7, 11.24, 20000
union all select 8, 987.41, 20000
union all select 9, 135.70, 20000
union all select 10, 324.12, 20000
union all select 11, 1235.12, 20000
union all select 12, 679.56, 20000
union all select 1, 700.00, 20000
union all select 2, 304.32, 20000
union all select 3, 105.35, 20000
union all select 4, 7800, 20000
union all select 5, 3340, 20000
union all select 6, 145, 20000
union all select 7, 1340, 20000
union all select 8, 2300, 20000
union all select 9, 3520.70, 20000
union all select 10, 3240.12, 20000
union all select 11, 1200.12, 20000
union all select 12, 10.00, 20000

select acc, sum(case month when 1 then sum else 0 end) sum01, 
       sum(case month when 2 then sum else 0 end) sum02, 
       sum(case month when 3 then sum else 0 end) sum03, 
       sum(case month when 4 then sum else 0 end) sum04, 
       sum(case month when 5 then sum else 0 end) sum05, 
       sum(case month when 6 then sum else 0 end) sum06, 
       sum(case month when 7 then sum else 0 end) sum07, 
       sum(case month when 8 then sum else 0 end) sum08, 
       sum(case month when 9 then sum else 0 end) sum09, 
       sum(case month when 10 then sum else 0 end) sum10, 
       sum(case month when 11 then sum else 0 end) sum11, 
       sum(case month when 12 then sum else 0 end) sum12,
       sum(sum) sumTotal
    from @T
group by acc
 

zx

Member
Re: Семинар #7 совместно с Sumy .NET User Group (обновлено!)

Вот это будет работать и в 2000-м:
то е так, то е так..

поменяю в методичке имя колонки sum, а то неэстетично, в жизни так не делают.

мда, теперь никакой интриги..

бтв. - зачем в юнионе писать all я не знаю (я не спорю, просто не в курсе).
без all оно чтоли сделает напиханым кортежам что-то типа distinct ?
 

Aleon

Member
Re: Семинар #7 совместно с Sumy .NET User Group (обновлено!)

без all оно чтоли сделает напиханым кортежам что-то типа distinct ?
угу

Сорри, что лишил, интриги. Но я думал, что
никто не собирался никого ничему научить в этом обзоре умений.
А так, вдруг, кому пригодится.
 

artvolk

Member
Модератор
Версию на team-meeting.sumy.ua обновил.

P.S. За букву «ё» спасибо :)
 

Edisson

Member
Модератор
ну что все быстренько ноги в руки и на семинар ;)
 
Понравилось принципе все кроме последнего...слишком много пафоса ИМХО
 
ну потому что аудитория была неготова (студенты куле), + третий час докладов заканчивался.
 
Зверху