Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    [Mysql] query con join + count

    Sto impazzendo da un paio di giorni per cercare di fare una cosa in PHP, quando PROBABILMENTE esiste una soluzione direttamente dal DB.
    ho un "negozio" in cui ho la tabella anagrafica
    ho la tabella prodotti: in cui c'è solo la descrizione e il nome del prodotto
    ho la tabella ordini: in cui c'è la data del prodotto e i riferimenti all'anagrafica
    ho la tabella appoggio_ordini: in cui metto effettivamente il riferimento al prodotto, alla tabella ordine e alla quantità acquistata.
    la query con le join va alla grande, ma vorrei per ogni ordine il totale dei soldi calcolati.
    Ho provato con PHP ma appunto non sono riuscito.
    Codice PHP:
    SELECT FROM ordini a
    LEFT JOIN anagrafica ON 
    id_anagrafica rif_anagrafica )
    LEFT JOIN appoggio_ordini ON id_rif_ordine id_ordine )
    LEFT JOIN prodotti ON prodotti.id_prodotto id_rif_prodotto )
    WHERE DATE(data_ordine) = '2015-10-10' 
    ringrazio chiunque possa darmi una mano

  2. #2
    nella select devi usare SUM(campo_importo)
    e in fondo aggiungere GROUP BY(campo_id_ordine)

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ok, ma non posso usare group by perchè sennò non si vedono tutti gli elementi degli ordini..
    cioè DOVREBBERO, condizionale d'obbligo, venir fuori TUTTI gli ordini del giorno con il dettaglio..
    e la SUM dovrei farla non su TUTTO, ma su ogni singolo ordine.. anche su tutto ma quello sarebbe banale
    ho il sentore che non si possa fare intendo dire con una sola query

  4. #4
    esatto, o i dettagli o le somme ; in alternativa puoi aggiungere una colonna Totale alla testata dell'ordine (devi ricordarti di tenerlo aggiornato)

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    esatto, o i dettagli o le somme
    AHHHHHHH!!!! ok ok

    in alternativa puoi aggiungere una colonna Totale alla testata dell'ordine
    fiiiiiiiiicooooo!!! una colonna nell'ordine proprio, così con una ricerca veloce si può vedere il fatturato facilmente (è una amica con un piccolo negozio, e sto lavorando gratis.. dicendo fatturato uno chissà che pensa.. milioni di euriii!!! )


    COMUNQUE GRAZIE TANTISSSSSIMO!!!
    Sempre prezioso sei!!!

  6. #6

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    Quote Originariamente inviata da optime Visualizza il messaggio
    dai, allora birretta!
    se stai a roma quando ti pare.. altrimenti te la mando per mail la birra

  8. #8
    infatti, segui il link nella mia firma

  9. #9
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    fai attenzione però a un problemino cui sono incappato in questi giorni.
    anzi due.
    il primo è l'arrotondamento malefico degli euro: usa solo campi decimal(15,2) ad esempio per mantere i valori, sennò le somme vengono male.
    il secondo è il rischio di avere problemi di disallineamento tra le righe e il totale.
    per ovviare al problema ho fatto un trigger che aggiorna la somma, ma devo dire che rallenta un bel po'.
    certo se i dati non vengono modificati frequentemente ci può stare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.