Afficher un message
Vieux 17/08/2007, 16h24   #3
Hamet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Jointure entre 3 tables

Merci beaucoup, pouvez-vous me donner le lien vers votre site

"Fred BROUARD" a écrit :

> Hamet a écrit :
> > bonjour
> >
> > J'ai un problème en transact sql.

>
> Il ne s'agit pas de transct SQL, mais de pur SQL !
>
> 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
> INNER JOIN company COM
> ON cr.company_id = COM.company_id
> INNER JOIN Employee EMP
> ON EMP.Employee_Id = COALESCE(COM.Account_manager_Media,
> ctr.employee_id)
>
> WHERE cr.a_role like '%S%'
>
> Une petite formation SQL... ne serait-elle pas la bienvenue ?
> Mon site web, comme mes bouquins peuvent vous y aider !
>
> A +
>
>
> > 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

>
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
>

  Réponse avec citation
 
Page generated in 0,06781 seconds with 9 queries