Aiuto su una query

di il
4 risposte

Aiuto su una query

Salve a tutti,

Mi servirebbe una mano su un problema che non riesco a risolvere.

Ho una tabella con d_ref nome, presente. Ogni nome può arrivare più volte in un mese ma la d_ref sarà sempre il fine mese, ad esempio dal 1 al 30 di aprile io come d_ref avrò sempre 30-04-2023, inoltre per ogni record il campo presente può essere valorizzato o nullo.

Come faccio ad avere un risultato del genere?

d_ref           !  nome ! Presente_val| presente null

30-04-2023! pippo !   20                 |   10

in pratica vorrei contare quante volte il campo presente, per la stessa data e stesso nome è arrivato valorizzato o nullo.

Spero di essere stato chiaro,

grazie a chi vorrà darmi una mano.

4 Risposte

  • Re: Aiuto su una query

    Dovresti avere una tabella popolata n volte con pippo da quella tabella raggruppi i record per presenze.

    Presenze nul che significa? Non risulto loggato su n_log? E come stabilisci che sia pippo e non pluto a non loggarsi?

    Ci sono poche informazioni per rispondere più in dettaglio.

  • Re: Aiuto su una query

    Ciao Silsandrea,

    innanzitutto grazie per avermi risposto.

    Quello di sopra è solo un esempio, nella tabella dovrei avere n nomi(pippo, pluto, paperino, ecc) ed n d_ref(31-01-2023, 28-02-2023,31-03-2023,30-04-2023).

    un record, ad esempio,:

    31-03-2023 - pluto - yes 

    si può ripetere n volte, così come 

    31-03-2023 - pluto - null.

    Quello che vorrei fare io è avere il risultato, 31-03-2023 - pluto - 20 - 10 (dove 20 è le volte che ho yes nella colonna Presente e 10 è le volte che ho null)

    Null equivale al dato non valorizzato, in pratica in quel giorno non si è loggato.

    Spero di essere stato più chiaro

  • Re: Aiuto su una query

    Quindi devi eseguire una query con count(presenze) where presenze is not null e una dove count(presenze) is null.

    Devi fare uso di subquery.

    Per trovare la subquery giusta ti consiglio di scomporre il problema in tre parti:

    1) estrapoli con una query i dati dove presenze = yes

    2) come sopra con presenze=no

    3) usi le query di sopra come subquery per creare la query che ti serve.

    Un ripasso lo trovi qui: https://www.oracletutorial.com/oracle-basics/oracle-subquery/

    Ma ce ne sono tanti. Cerca un manuale di comandi query per oracle.

  • Re: Aiuto su una query

    Grazie mille per l'aiuto.

Devi accedere o registrarti per scrivere nel forum
4 risposte