Query con somma a condizione

di il
5 risposte

Query con somma a condizione

Ciao a tutti,

spero mi possiate aiutare.
Ho creato una query che mi restituisce un numero di eventi raggruppati per anno come segue:

SELECT Year([DateEvent]) AS YearSelection, Count(tblEvents.DateEvent) AS CountOfDateEvent
FROM tblEvents
GROUP BY Year([DateEvent])
HAVING (((Year([DateEvent]))>=[Forms]![frmEventsStatisticsYears]![DateFrom] And (Year([DateEvent]))<=[Forms]![frmEventsStatisticsYears]![DateTo]));


Ora vorrei ulteriormente espandere il risultato includendo anche due ulteriori colonne che contengono la somma degli eventi a cui hanno partecipato più di 100 persone e il totale delle persone che hanno partecipato.
Ovviamente la tabella include un campo "numPers" che contiene il numero dei partecipanti.

Avete qualche suggerimento ?

Grazie mille.
Mak

5 Risposte

  • Re: Query con somma a condizione

    Io non so usare SQL. Se descrivi o mostri la "visualizzazione struttura" della query, forse potrei darti una mano.
  • Re: Query con somma a condizione

    Dunque, spero di riuscire a spiegarmi:

    la tabella "tbEvents" è composta dai seguneti campi:
    IDEvent (Indice)
    EventDate (Data)
    EventPers (Numero)

    La struttura della query è attualemente questa:

    *****************************************************************************************

    Field: Year([EventDate])
    Table:
    Total: Group By
    Show: Active
    Criteria: >=[Forms]![frmEventsStatisticsYears]![DateFrom] And <=[Forms]![frmEventsStatisticsYears]![DateFrom]![DateTo]

    *****************************************************************************************

    Field: EventDate
    Table: tbEvents
    Total: Count
    Show: Active

    *****************************************************************************************

    Field: [EventPers]>100
    Table: tbEvents
    Total: Count
    Show: Active

    *****************************************************************************************

    Il risultato che ottengo è corretto per quanto riguarda il numero di eventi ma nella colonna EventPers trovo lo stesso numero di EventDate (es. 2005 25 25) che ovviamente non è corretto.
  • Re: Query con somma a condizione

    Makrider ha scritto:


    ...

    Field: [EventPers]>100
    Table: tbEvents
    Total: Count
    Show: Active

    *****************************************************************************************

    Il risultato che ottengo è corretto per quanto riguarda il numero di eventi ma nella colonna EventPers trovo lo stesso numero di EventDate (es. 2005 25 25) che ovviamente non è corretto.
    E' un sistema un po' strano per vedere le query però rende l'idea.
    Invece di Count (Conteggio) prova con Sum (Somma)
  • Re: Query con somma a condizione

    Provato, ma Sum non basta.
    Alla fine ho risolto inserendo l'espressione: Sum(iif(condizione>=100,1,0))

    In questo modo funziona.

    Grazie mille !!!


    Inviato dal mio iPhone utilizzando Tapatalk
  • Re: Query con somma a condizione

    Makrider ha scritto:


    Provato, ma Sum non basta.
    Alla fine ho risolto inserendo l'espressione: Sum(iif(condizione>=100,1,0))
    ...
    Prova a tenere una che fa il Count su [Field: EventDate] e Sum su [Field: [EventPers]>100]
Devi accedere o registrarti per scrivere nel forum
5 risposte