Tema: Re: T-SQL subquery/subselect klausimas
Autorius: 2x50
Data: 2011-08-04 11:28:39
Noreciau paklausti, kurioj tiksliai vietoj cia bardakas?
Jei cia blogas sperndimas, tai laukiam geresniu pasiulymu, pageidautina 
nurodant ju pranasumus...

"Jornada Del Muerto" <Jornada@Lythum.lt> wrote in message 
news:j1djkh$8uk$1@trimpas.omnitel.net...
> Vat teke taisyt vieno veikejo koda kur viewe taip padares tik ten baisiau 
> buvo kelis kart, poto dar proceduroj dar karta... na bet ten MSSQL 2000 
> buvo, o pivot yra tik nuo 2005, patarciau pivot naudot jei eina... nes 
> poto toks bardakas su tokiais sprendimais pasidaro, kad velnias galva 
> nusisukt gali...
>
> "2x50" <tlchj61@gmail.com> wrote in message 
> news:j191fg$u9i$1@trimpas.omnitel.net...
>> principas toks
>>
>> select
>>  lenta.id,
>>  sum(case when lenta.busena = 1 then lenta.kiekis else null end)
>> busena_1_kiekis,
>>  sum(case when lenta.busena = 2 then lenta.kiekis else null end)
>> busena_2_kiekis
>> from lenta
>> group by lenta.id
>>
>> arba http://www.lmgtfy.com/?q=sql+server+pivot&l=1 :)
>>
>> "Rimokas" <rimasu@ut.lt> wrote in message
>> news:j18t0m$p83$1@trimpas.omnitel.net...
>>>  Sveiki,
>>>  Noriu is lenteles keliu irasu padaryt viena , kur virtualioj lentelej
>>> atsirastu papildomas laukas .
>>>
>>> Lentele1 :
>>> PrekesId ;
>>> KonfigId;
>>> Datos;
>>> PajBusena;
>>> IslBusena;
>>> Kiekis;
>>> Suma;
>>> ...
>>> Dabar i ja isiraso pvz. pajamos - "PajBusena" - "Gauta" ir kiekis 10 
>>> vnt.
>>> Islaidoms - "IslBusena" - "Parduota", -5 vnt. . Reikia apyvartinima
>>> ziniarasciui padaryt , kad butu 2 stulpeliai , vietoj vieno "Kiekis". 
>>> Pvz.
>>> "PajVnt"ir "IslVnt" . Kol kas iseina tokia uzklausa :
>>>
>>>      SELECT
>>>      lenta1.PrekesId,
>>>      lenta1.KonfigId,
>>>      lenta1.PajBusena,
>>>      lenta1.Datos,
>>>      SUM ( Kiekis ) AS kiekVnt,
>>>      SUM ( Suma ) AS Suma1,
>>>      lenta1.IslBusena,
>>>      INTO lenta2  FROM lenta1
>>>      WHERE lenta1.Datos >='2011.07.01'
>>>      GROUP BY
>>>      lenta1.PrekesId,
>>>      lenta1.KonfigId,
>>>      lenta1.PajBusena,
>>>      lenta1.IslBusena,
>>>      lenta1.Datos
>>>
>>>   Kaip parasyt subselectus ? Jie gal but rasomi i sum() vidu ? Ta prasme
>>> but gal taip :
>>>
>>>      SELECT
>>>      lenta1.PrekesId,
>>>      lenta1.KonfigId,
>>>      lenta1.PajBusena,
>>>      lenta1.Datos,
>>>      SUM ( select sum( Kiekis ) where lenta1.PajBusena = "Gauta" ... ) 
>>> AS
>>> PajVnt,
>>>      SUM ( select sum( Kiekis ) where lenta1.IslBusena = "Parduota" 
>>> ... )
>>> AS IslVnt,
>>>      SUM ( Suma ) AS Suma1,
>>>      lenta1.IslBusena,
>>>      INTO lenta2  FROM lenta1
>>>      WHERE lenta1.Datos >='2011.07.01'
>>>      GROUP BY
>>>      lenta1.PrekesId,
>>>      lenta1.KonfigId,
>>>      lenta1.PajBusena,
>>>      lenta1.IslBusena,
>>>      lenta1.Datos
>>>
>>>  As nelabai zinau T-SQL , o is guglas duoda daugiau apibendrinta info . 
>>> O
>>> cia toks specifinis dalykas ...
>>>
>>>   Is anksto dekingas uz pagalba !
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>