Bonjour,
j'ai deux tables client et Produit_achetes_client

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT   SUM(dbo.Produit_achetes_client.Montant) AS Expr1
FROM         dbo.Produit_achetes_client INNER JOIN
                      dbo.Client ON dbo.Produit_achetes_client.Id_Client = dbo.client.Id_client
WHERE     (dbo.Produit_achetes_client.Id_Client = 14)
GROUP BY dbo.Produit_achetes_client.Id_Client, dbo.Produit_achetes_client.Mois, dbo.Produit_achetes_client.Année
cette sous requête retourne 4 enregistrement différents pour le client N 14
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
23459.65
56789.65
92355.65
17202.65
mais quand je l'insere dans la requête( il faut ajouter top 1 sinon la requete retourne l'erreur Msg 512, Level 16, State 1, Line 1
La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu'expression.) suivante elle retourne une seule et même valeur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT       dbo.client.Nom_client,(SELECT   top 1  SUM(dbo.Produit_achetes_client.Montant) AS Expr1
FROM         dbo.Produit_achetes_client INNER JOIN
                      dbo.Client ON dbo.Produit_achetes_client.Id_Client = dbo.client.Id_client
WHERE     (dbo.Produit_achetes_client.Id_Client = 14) 
GROUP BY dbo.Produit_achetes_client.Id_Client, dbo.Produit_achetes_client.Mois, dbo.Produit_achetes_client.Année)
FROM         dbo.Client inner JOIN
                      dbo.Produit_achetes_client ON dbo.client.Id_client = dbo.Produit_achetes_client.Id_Client
WHERE     (dbo.client.Id_client = 14) 
GROUP BY dbo.client.Nom_client, dbo.Produit_achetes_client.Mois, dbo.Produit_achetes_client.Année
cette requête retourne 4 enregistrements pour le client MESSI qui a le numéro 14
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
MESSI	23459.65
MESSI	23459.65
MESSI	23459.65
MESSI	23459.65
svp pouvez vous m'aider a résoudre ce problème?