Tema: Re: T-SQL subquery/subselect klausimas
Autorius: 2x50
Data: 2011-08-02 17:26:56
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 !
>
>
>
>
>
>