Jeden zapeklity SQL dotaz
Jan Serak
sherry na pikebo.cz
Čtvrtek Březen 30 10:58:47 CEST 2000
Roman LISZKA wrote:
[...]
> coz funguje, ale pri rozsireni na:
>
> select Osnova.IDUcet, sum(MD.Cena) as MDSuma, sum(DAL.Cena) as DalSuma
> from Osnova
> left outer join PDenik MD on Osnova.IDUcet=MD.MDUcet
> left outer join PDenik DAL on Osnova.IDUcet=Dal.DalUcet
> group by Osnova.IDUcet
>
> vyjde: IDUcet SumaMD SumaD
> 211 400 510
> 311 10 NULL
> 501 500 200
Sice presne nerozumim syntaxi left outer join (jen tak zhruba intuitivne),
ale to, co chcete provadet, jednim selectem rozhodne nezvladnete.
Vy totiz potrebujete PDenik zgrupovat jednou podle UcetMD a jednou podle
UcetDal pouze a jen z toho trapneho duvodu, abyste dospel ke spravnym
cislum.
Nazorne: kdyz chcete vytvorit sumy pro UcetMD, dostavate tyto grupy:
> pdenik: Cena UcetMD UcetDal
> 200Kc 211 501
-------------------
> 500Kc 501 211
------------------
> 10Kc 311 211
a pro UcetDal tyto:
> pdenik: Cena UcetMD UcetDal
> 200Kc 211 501
-------------------
> 500Kc 501 211
> 10Kc 311 211
Tohle jeden SELECT nikdy nemuze dosahnout.
Jan Serak
Další informace o konferenci Test