Bonjour
je vais commencer par vous présenter mes tables.
-Client(Cod_Client,NomClient, IDClient,Num_credit)
-Garant(Cod_Garant, Cod_client,NomGarant)
-Garantie(Cod_Garantie,Cod_Client,Tip_Garantie,Description)

On a pour chaque client trois Garants et un nombre indéterminé de garantie .
Mon objectif c'est de réaliser une requête qui retourne pour chaque client les garants et les garanties qui lui appartient dans le même ligne.
J'ai réussit a crée une requête qui retourne le client avec ces garant, mon problème c'est la collection des garanties parce-que le nombre de garantie n'est pas déterminer.
Voici la requête réaliser
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 SELECT NomClient AS [Nom Client]
		,IDClient AS [ID]
		,
					  guarant1.NomGarant as [NomGuarant1],
                                          guarant2.NomGarant as [NomGuarant2],
                                          guarant3.NomGarant as [NomGuarant3],
               From Client C
    LEFT JOIN 
                  (select g.*
                              ,ROW_NUMBER() OVER(PARTITION BY Num_credit ORDER BY g.[COD_CLIENT]) AS guarantNumber
                              ,g.NomGarant as NomGarant 
                  From Garant) as guarant1 on C.Cod_Client=g.Cod_Client and guarantor1.guarantNumber = 1
    LEFT JOIN 
                  (select g.*
                              ,ROW_NUMBER() OVER(PARTITION BY Num_credit ORDER BY g.[COD_CLIENT]) AS guarantorNumber
                              ,g.NomGarant as NomGarant 
                  From Garant) as guarant2 on C.Cod_Client=g.Cod_Client and guarantor2.guarantNumber = 2
    LEFT JOIN 
                  (select g.*
                              ,ROW_NUMBER() OVER(PARTITION BY Num_credit ORDER BY g.[COD_CLIENT]) AS guarantorNumber
                              ,g.NomGarant as NomGarant 
                  From Garant) as guarant3 on C.Cod_Client=g.Cod_Client and guarantor3.guarantNumber = 3
GROUP BY C.NomClient ,C.IDClient,guarant1.NomGarant ,guarant2.NomGarant ,guarant3.NomGarant