Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    contare gli zeri nei raggruppamenti

    Ciao a tutti,
    scusate se il titolo non è molto espressivo ma non sapevo come sintetizzare il problema.

    Abbiamo un negozio con 4 articoli: computer, stampanti, video.
    Ho una tabella in cui sono memorizzati gli ipotetici scontrini
    (data, articolo)
    Vorrei avere una tabella in cui conto gli articoli per gruppi (e fin qui ok) nella quale però compaiano anche gli eventuali zeri

    Esempio
    01/04/2014 stampanti 2
    02/04/2014 stampanti 4
    03/04/2014 stampanti 0
    01/04/2014 computer 5
    02/04/2014 computer 1
    03/04/2014 computer 3

    Se faccio
    select data, articolo, count(*) from tabella
    group by data, articolo;

    non riesco a contare gli zeri perchè in pratica è come voler contare contare cose non memorizzate.
    Per il raggruppamento (03/04/2014, stampanti) non ci sono righe da contare

    Qualcuno ha una soluzione?

    Grazie mille!!

  2. #2
    Ho il dubbio di aver capito la richiesta. Se non metti record non trovi record. Quindi tu fai un record per ogni pezzo venduto, se non vendi nessun record. Ma se un cliente ne compra due di pezzi che fai? due record?

    count(*) conta i record di presenza nella tabella mentre forse dovresti fare sum() su un campo numerico e mettere comunque tutti i giorni del calendario con articolo e numero_venduto = zero come default

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Grazie mille! non ci avevo pensato.
    Ho pensato anche una soluzione diversa: calcolo i valori (con sum) con delle view e faccio, partendo da un calendario con tutte le date, delle join esterne. Dovrebbe uscire proprio la tabella di cui ho bisogno, ma devo ancora provarla.

    Grazie ancora! E a presto

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.