{MySQL} Utiliser champ d'1 requete pr requete

guillaumedt -  
 guillaumedt -
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
Configuration: Windows XP
Firefox 3.0.12

3 réponses

  1. guillaumedt
     
    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
  2. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    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
  3. guillaumedt
     
    Bonjour,

    Merci christounet, ça marche nickel,

    Bon week-end

    Guillaume
    0