O sa mai dau niste informatii, se pare ca m-am grabit si am fost prea succint
Acestea sunt tabelele folosite pt query-ul meu
parteneri p
locatii l
adrese a
orase o
judete j
parteneriagenti pa
clasificaridivizii v
personal sp
persoanefizice pf
select CodPArtener = p.cod,
Partener = p.denumire,
l.Locatie,
Judet = isnull(j.Nume, ''),
Oras = isnull(o.Nume, ''),
Strada = isnull(a.Strada, ''),
Numar = isnull(a.strada_nr, ''),
Divizie = isnull(pa.Divizie, ''),
Agent = isnull(pa.Agent, '')
from dbo.parteneri p with(nolock)
inner join locatii l with(nolock) on l.locatie_id = p.locatieid
inner join adrese a with(nolock) on a.adresa_id = p.adresa_principala_id
inner join orase o with(nolock) on o.oras_id = a.oras_id
inner join judete j with(nolock) on j.judet_id = o.judet_id
left join (
Select pa.fkpartener, descriere as Divizie, pf.Nume as Agent
from ParteneriAgenti dpa with(nolock)
inner join clasificaridivizii v with(nolock) on v.PK_CLASIFICARI_VALORI = pa.divizieid
inner join Personal pers with(nolock) on pa.FkAngajat = pers.Angajat_Id
inner join PersoaneFizice pf with(nolock) on pers.Persoane_Fizice_Id = pf.Persoane_Fizice_Id
)pa on pa.fkpartener = p.partener_id
Acela era query-ul meu.
Parteneriagenti tine si id-ul de divizie cat si cel de agent.
Stiu ca-mi scapa ceva banal undeva, dar nu pot sa localizez exact buba. M-am gandit sa fac si un UNION cu tabela de divizii sa iau restul, dar nu cred ca e asta solutia.
Edit: am corectat aliasurile