Query di raggruppamento

di il
5 risposte

Query di raggruppamento

Buonasera, ho un problema con una query di raggruppamento:
SELECT (SELECT Count(*) FROM Main WHERE Main.Posizione = "Presenza") AS Presenza, (SELECT SUM(Ore_Straord_Pag) FROM Main) AS Ore_Straord_Pag, (SELECT SUM(Ore_Straord_Comp) FROM Main) AS Ore_Straord_Comp, (SELECT SUM(Min_Perm_Retr) FROM Main) AS Min_Perm_Retr, (SELECT SUM(Min_Perm_Pers) FROM Main) AS Min_Perm_Pers, (SELECT SUM(Min_Perm_Pers_Recup) FROM Main) AS Min_Perm_Pers_Recup, Month(Main.Data) AS Month_Data
FROM Main
GROUP BY Month(Main.Data);
Eseguendo la query il risultato è rappresentato da 12 record (uno per ogni mese) ma ogni record riporta, ovviamente, la somma dei valori totali di tutto l'anno nei campi e non il parziale per ogni mese con un numero di record pari ai mesi con valori inseriti. Come potrei modificare la Query?
Grazie.

5 Risposte

  • Re: Query di raggruppamento

    Mi correggo. La query deve essere costituita da 12 record con valori pari a zero nei mesi dove non ci sono dati inseriti.
  • Re: Query di raggruppamento

    Dovresti fare una query di raggruppamento come dal tuo titolo.
    Quello che hai fatto, meglio se lo lasci da parte e provi a fare una queey in cui puoi creare un campo con la data in formato testo costituita solo da Mese/Anno,(basta usare format ed inserire come pattern mm/yyyy) quindi ti guardi nella guida come si usa il raggruppamento e raggruppi sul campo appena creato mentre SOMMI le quantità e le valorizzazioni economiche.

    https://m.youtube.com/watch?v=YBwGcslqP0
  • Re: Query di raggruppamento

    Credo di aver risolto. Nel Frattempo ho variato un pò la tabella e complicato un po' la query. Mi si è presentato un caso che no riesco a risolvere.
    In un campo "posizione" della tabella ho inserito diversi valori testo: Presenza, assenza, ferie, ecc. Come posso eseguire un conteggio selettivo di questi valori nei record della query mese per mese?
  • Re: Query di raggruppamento

    Ti ho gia risposto.
  • Re: Query di raggruppamento

    Certo. Il Problema è che ho utilizzato la funzione SUM con l'operatore like, per distinguere tra i valori possibili, e ottengo i conteggi esatti per ogni record ma con valori negativi e non capisco perché.
Devi accedere o registrarti per scrivere nel forum
5 risposte