[Access] Requête de requête

Requête de requête [Access] - SQL/NoSQL - Programmation

Marsh Posté le 23-12-2007 à 17:56:19    

Voici ma première requête :
 
SELECT C.nom, C.prénom, C.adresse, P.intitule, P.type, P.fournisseur, qté, [qté]*[prix] AS [prix total]
FROM Vente AS V, Produit AS P, Client AS C
WHERE (((C.nom)=[saisir_le_nom]) And ((V.code_produit)=P.code_produit) And ((V.code_client)=C.code_client));
 
Et voici ma deuxième requête :
 
SELECT SUM([qté]*[prix]) AS [total à payer]
FROM Vente AS V, Produit AS P, Client AS C
WHERE (((C.nom)=[saisir_le_nom]) And ((V.code_produit)=P.code_produit) And ((V.code_client)=C.code_client));
 
Le but de la requête n°1 est de saisir toutes les info. demandées pour un client spécifique. Le but de la requête n°2 est de calculer le montant total déboursé par le même client.
 
Pour un état qui devrait faire l'impression d'une facture pour ce client, j'ai besoin que ces deux requêtes ne fasse qu'une, car en utilisant ces deux requêtes pour mon état, il y a un bug qui se trouve au niveau du total à payer. Au lieu de le prendre sur la requête n°2, il demande à l'utilisateur de le saisir lui même donc au final il est faut.
 
Pour plus d'info, n'hésitez pas à me demander et merci pour votre aide :D

Reply

Marsh Posté le 23-12-2007 à 17:56:19   

Reply

Marsh Posté le 24-12-2007 à 10:32:31    

SELECT C.nom, C.prénom, C.adresse, P.intitule, P.type, P.fournisseur, qté, [qté]*[prix] AS [prix total], SUM([qté]*[prix]) AS [total à payer]  
FROM Vente AS V, Produit AS P, Client AS C  
WHERE (((C.nom)=[saisir_le_nom]) And ((V.code_produit)=P.code_produit) And ((V.code_client)=C.code_client))
GROUP BY C.nom, C.prénom, C.adresse, P.intitule, P.type, P.fournisseur,
qté, [qté]*[prix]
 
Suit pas sure pour le group by [qté]*[prix]. Je sais pas si cela va passer.  
Essaye et si cela ne va pas, je te donnerais une autre synthaxe.

Reply

Marsh Posté le 24-12-2007 à 10:50:18    

J'avais déja tenté cette solution mais en fait, le total à payer prends la valeur du prix total, donc il y as toujours un problème dans l'affichage ... sniff !

Reply

Marsh Posté le 24-12-2007 à 12:05:09    

Peanuts03 a écrit :

J'avais déja tenté cette solution mais en fait, le total à payer prends la valeur du prix total, donc il y as toujours un problème dans l'affichage ... sniff !


 
ça m'étonnerais  
essaye cela et essaye cette fois ci plutot que de me dire que tu as déjà essayé
 
SELECT nom, prénom, adresse, intitule, type, fournisseur, qté, prix_total,  
           (SELECT SUM([qté]*[prix]) AS [total à payer]  
            FROM Vente AS V, Produit AS P, Client AS C  
            WHERE (((C.nom)=result.nom) And ((V.code_produit)=P.code_produit) And ((V.code_client)=C.code_client))) as [total à payer]  
FROM (
SELECT C.nom as nom, C.prénom as prénom, C.adresse as adresse, P.intitule as intitule, P.type as type, P.fournisseur as fournisseur, qté, [qté]*[prix] AS [prix_total]  
FROM Vente AS V, Produit AS P, Client AS C  
WHERE (((C.nom)=[saisir_le_nom]) And ((V.code_produit)=P.code_produit) And ((V.code_client)=C.code_client))) as result;
 
enfin tu vois le genre, Ce genre de requête doit fonctionner. A toi d'adapté la jointure entre la première et la seconde requête.

Reply

Marsh Posté le 24-12-2007 à 18:20:11    

Cette dernière requête marche du feu de dieu :D
 
Merci beaucoup !!!! (et pour ta première phrase, si j'avais déja essayé avec un pote la première que tu m'avais dites désolé ...)

Reply

Marsh Posté le 26-12-2007 à 12:25:07    

de rien c'est ce qui compte ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed