Jointure entre 3 tables
bonjour
J'ai un problème en transact sql.
J'ai ma table contrat qui a un lien avec ma table employee et ma table
entreprise, j'ai également ma table entreprise qui a un lien avec ma table
employee
Je souhaiterai selectionner les contrats en récupérant le non de l'employee
depuis la table entreprise sauf s'il est pas renseigné ou que
l'idEmployee=550, Dans ces 2 cas je dois passer par la table contrat pour
faire ma jointure avec la table employee. Je souhaiterai faire cela sans
passer par une UNION comme dans l'exemple ci-dessous.
select
CTR.A_Contrat_Id, emp .EmployeeName
from
A_Contrat CTR
INNER
JOIN A_Company_role_contrat cr ON cr .A_Contrat_Id = CTR.A_Contrat_Id and
(cr.a_role like '%S%' )
INNER
JOIN company COM ON cr. company_id=COM.company_id
INNER
JOIN Employee EMP ON ( EMP.Employee_Id = COM.Account_manager_Media ) and
(COM .Account_manager_Media is not null)
Union
select
CTR.A_Contrat_Id, emp .EmployeeName
from
A_Contrat CTR
INNER
JOIN A_Company_role_contrat cr ON cr .A_Contrat_Id = CTR.A_Contrat_Id and
(cr.a_role like '%S%' )
INNER
JOIN company COM ON cr. company_id=COM.company_id
INNER
JOIN Employee EMP ON ( EMP.Employee_Id = ctr.employee_id ) and (COM
..Account_manager_Media is null)
Merci pour votre aide.
Hamet
|