Sujungimas, kada kitos lentos irasas nebutinai egzistuoja, yra daromas su LEFT/RIGHT join'ais.
Pvz.:
Select
L.id,
L.konfid_id,
L.datos
sum(case when L.busena = 1 then L.kiekis else null end) busena_1_kiekis,
sum(case when L.busena = 2 then L.kiekis else null end) busena_2_kiekis,
-- agreguojame kazka is tos lentos [cia rasykis ko tau reik]
sum(IsNull(LK.skaiciuojamas_laukas, 0)) LK_laukas,
LK.tiesiog_isvedamas_laukas LK_simple_field
from
lenta L
left join likuc LK On
LK.id = on L.id and LK.konfig_id = L.konfig_id
group by
L.id,
L.konfig_id,
L.datos
-- agr. LK
LK.tiesiog_isvedamas_laukas
Tada jai ner kazkokio iraso likuc lentoje visi is tos lentos traukiami laukai bus NULL tai jei toliau darysii agregacija (tipo sum, count, avg ir t.t.. ) su jos laukais tai pradzioj statai funkcija IsNull(likuc.laukas, 0).
P.S. Tiesa nepakenciu uzklausu su keliom lentom ir be aliasu tai sualiasinau ;) L - lenta, LK - likuc, tiesiog skaitomumas uzklausos mazeja kada dar visas lentos name prie kiekvieno lauko eina.
---
Freelancer Developer | MSSQL 2000, MSSQL 2005, MSSQL 2008 Certified via brainbench & odesk.com
http://www.lythum.lt
"Rimokas" <rimasu@ut.lt> wrote in message news:j1qo69$vp0$1@trimpas.omnitel.net...
> Sveiki ,
>
> Neseniai man gerai issaiskinot , kaip pasidaryt suminius i eilutes is
> judejimo lentos . Viskas puikiai pavyko . Dabar bandau padaryt dar viena
> dalyka , bet neistengiu ... :( .
>
> Yra ta pagrindine lenta , kaip isisaiskinot anksciau :
>
>> principas toks
>>
>> select
>> lenta.id, lenta.konfid_id, lenta.datos
>> 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, lenta.konfig_id, lenta.datos
>
> Dabar reiktu prijungti dar viena lentele - likuciu menesio pradziai .
> Beda ta , kad jei jungiu su kokiu "full outer join likuciai on ( likuc.id =
> lenta.id and likuc.konfig_id = lenta.konfig_id)" tuomet nematau irasu ,
> kuriu judejimo nebuvo , t.y. "lenta" lenteleje tokiu irasu nera . Kaip
> sujungti tokias lentas ?
>
> Is anksto dekingas uz pagalba ! :-)
>
>
>