Bonjour,
j'ai deux tables client et Produit_achetes_client
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 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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 23459.65 56789.65 92355.65 17202.65
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
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
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
svp pouvez vous m'aider a résoudre ce problème?
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
Partager