|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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 *********************** |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 *********************** > |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Hamet a écrit : > Merci beaucoup, pouvez-vous me donner le lien vers votre site C'est dans ma signature. A + > > "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 *********************** >> -- 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 *********************** |
|
![]() |
| Outils de la discussion | |
|
|