{MySQL} Utiliser champ d'1 requete pr requete

Fermé
guillaumedt - 24 juil. 2009 à 08:03
 guillaumedt - 25 juil. 2009 à 09:58
Bonjour,

Bonjour,

J'ai fait migrer une base de données Access sur mySQL, j'utilise donc PHPMyAdmin. C'est une base de donnees qui enregistre les ventes et les clients.

Je suis actuellement en train de recopier mes requêtes que j'avais faites sous access. J'ai d'abord écrit la requête sale_history qui me donne le montant pour chaque vente 9il vient prendre la quantité achetée dans la table DetailsVente et vient chercher le Prix de l'objet et multiplie les deux champs ce qui me donne le champs calcule TotalLigne.

Je dois maintenant écrire ma requête qui me permet d'obtenir le montant dépensé par client, sur Access, pas de souci vu que l'on a accès au champs des requêtes mais comment faire sous PHPMyAdmin ?

Cordialement,

Guillaume

3 réponses

Rebonjour,

Pour être plus précis, la requête suivante (nommons la q_sale_history) marche et me donne un résultat :

SELECT hyp_sale.sale_date, hyp_saleitem.saleitem_sale_id, hyp_saleitem.saleitem_id, hyp_sale.sale_user_id, hyp_sale.sale_place_id, hyp_sale.sale_cust_id, hyp_saleitem.saleitem_item_id, hyp_item.item_price, hyp_saleitem.saleitem_quant, hyp_saleitem.saleitem_disc, hyp_saleitem.saleitem_red, item_price * saleitem_quant * saleitem_disc /100 - saleitem_red AS TotalLigne
FROM hyp_sale
INNER JOIN (
hyp_item
INNER JOIN hyp_saleitem ON hyp_item.item_id = hyp_saleitem.saleitem_item_id
) ON hyp_sale.sale_id = hyp_saleitem.saleitem_sale_id
LIMIT 0 , 30;

Ensuite je voudrais utiliser le champs TotalLigne :

SELECT hyp_customer.cust_id, Sum(????.TotalLigne) AS TotalLigneDeSomme

Comment remplacer les ????

Merci beaucoup,

Guillaume
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 387
24 juil. 2009 à 15:57
Bonjour,

Tu peux éventuellement créer une table temporaire contenant le résultat de ton premier select et ensuite faire ton deuxième select sur cette table temporaire, exemple de code
CREATE TEMPORARY TABLE NomTableTemporaire AS
SELECT hyp_sale.sale_date, hyp_saleitem.saleitem_sale_id, hyp_saleitem.saleitem_id, hyp_sale.sale_user_id, hyp_sale.sale_place_id, hyp_sale.sale_cust_id, hyp_saleitem.saleitem_item_id, hyp_item.item_price, hyp_saleitem.saleitem_quant, hyp_saleitem.saleitem_disc, hyp_saleitem.saleitem_red, item_price * saleitem_quant * saleitem_disc /100 - saleitem_red AS TotalLigne
FROM hyp_sale
INNER JOIN (
hyp_item
INNER JOIN hyp_saleitem ON hyp_item.item_id = hyp_saleitem.saleitem_item_id
) ON hyp_sale.sale_id = hyp_saleitem.saleitem_sale_id
LIMIT 0 , 30; 
et ensuite
SELECT hyp_customer.cust_id, Sum(NomTableTemporaire.TotalLigne) AS TotalLigneDeSomme 

A plus
0
Bonjour,

Merci christounet, ça marche nickel,

Bon week-end

Guillaume
0