Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Tabella con imponibile per mese/cliente

    Salve a tutti, è da un po' che non mastico mysql...
    Avrei da fare un table più o meno così :

    cliente | gennaio | febbraio | marzo
    cliente1 | cifra1 | cifra 2 | cifra 3
    cliente2 | cifra4 | cifra 5 | cifra 6
    cliente3 | cifra7 | cifra 8 | cifra 9

    Avendo una riga nel db che mi dice il mese, il cliente e la cifra, come potrei unire i dati? Trattasi di circa 200 clienti, quindi volevo utilizzare meno risorse possibili..

  2. #2
    Ciao,

    Puoi farci un esempio di quello che vuoi ottenere?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    *dovrebbe* essere che lui ha

    cliente | mese | cifra
    cliente1 | gennaio | cifra 1
    cliente1 | febbraio| cifra 2
    cliente1 | marzo| cifra 3
    cliente2 | gennaio | cifra 4
    cliente2 | febbraio| cifra 5
    cliente2 | marzo| cifra 6
    cliente3 | gennaio | cifra 7
    cliente3 | febbraio| cifra 8
    cliente3 | marzo| cifra 9

    e vuole ottenere

    cliente | gennaio | febbraio | marzo
    cliente1 | cifra1 | cifra 2 | cifra 3
    cliente2 | cifra4 | cifra 5 | cifra 6
    cliente3 | cifra7 | cifra 8 | cifra 9

    *dovrebbe*

  4. #4
    ok

    quindi *dovrebbe* essere una group by su cliente un modo per risolvere
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    non conosco bene mysql, ma mi pare di ricordare che qualche volta è stato suggerito l'uso di un'istruzione particolare per mettere i risultati della group by in orizzontale

  6. #6
    Optime ha azzeccato quello che voglio!
    Conosco il group by, ma non l'ho mai utilizzato in questa maniera...

    Sarebbe quindi un : mysql_query("SELECT imponibile,cliente FROM fatture GROUP BY cliente ORDER BY data DESC")

    Scusate se disturbo ancora, ma come posso fare uscire i vari imponibili dello stesso cliente sulla medesima linea? Pensavo con un ulteriore while, ma non saprei come piazzarlo... Non ho mai avuto a che fare con casi analoghi!

  7. #7
    la tua query : SELECT imponibile,cliente FROM fatture GROUP BY cliente ORDER BY data DESC

    e' errata.

    Quando fai una group by gli argomenti presenti nel SELECT possono essere o argomenti presenti nel group by o funzioni di aggregazione.

    Per risolvere il tuo problema dovresti "giocare" proprio con quest'ultime (funzioni aggregazione)
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  8. #8
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da bomberdini
    Quando fai una group by gli argomenti presenti nel SELECT possono essere o argomenti presenti nel group by o funzioni di aggregazione.
    Per MySQL ciò non è vero (con le impostazioni di default)
    Per risolvere il tuo problema dovresti "giocare" proprio con quest'ultime (funzioni aggregazione)
    Giocare col meccano?

  9. #9
    Giocare col meccano?
    non a caso ho messo le virgolette...
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    ripeto, non conosco bene MySql (per davvero) ma l'istruzione dovrebbe essere GROUP_CONCAT.

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.