Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema query

  1. #1

    problema query

    Salve,
    ho un grosso problema con una query che non riesco a risolvere.

    Cerco di spiegarmi.
    Ho una tabella in cui ci sono due tipologie di record "a" e "b". Questa tabella ha un campo data "giornaliero". (ovvero del tipo 13-02-2013).
    Mi serve una query che calcoli per ogni giorno la percentuale di record a su b.

    Ho provato in 6000 modi ma non riesco.

    Quello che stavo provando è la seguente cosa (posto "l'intelaiatura generale").

    select (subquery_a.evento_a/subquery_b.evento_b), a.data
    (select count(evento_a)
    from
    where
    group by data) subquery_a,
    (select count(evento_b)
    from
    where
    group by data) subquery_b

    Ora, le due subquery fanno quello che devono fare. Ovvero trovano giorno per giorno il numero di eventi di tipo a e di tipo b.
    Solo che poi ci sono ripetizioni su ripetizioni. Ovvero, per ogni giorno, non si ha solo
    evento_a_giornox/evento_b_giornox,
    evento_a_giornoy/evento_b_giornoy,

    ma si ha:
    evento_a_giornox/evento_b_giornox,
    evento_a_giornox/evento_b_giornoy, (non deve esserci)
    evento_a_giornox/evento_b_giornoz, (non deve esserci)
    e poi
    evento_a_giornoy/evento_b_giornox (non deve esserci)
    evento_a_giornoy/evento_b_giornoy
    evento_a_giornoy/evento_b_giornoz (non deve esserci)
    etc
    etc

    Mettere un group by nella select più esterna non va. Altri tentativi a caso non funzionano.

    Come posso fare?

    Grazie mille!

  2. #2
    come da regolamento, indica con quale db stai lavorando.

  3. #3
    chiedo scusa: DB ORACLE.

  4. #4
    in generale, puoi fare due tabelle temporanee con le group by per giorno dei record di tipo a e di tipo b. poi fai il rapporto tra le colonne delle due tabelle, mettendole in join sulla colonna giorno.


  5. #5
    grazie per la risposta: purtroppo non posso creare tabelle temporanee...

  6. #6
    allora devi organizzarti con le subquery per ottenere lo stesso effetto. l'importante è mettere le subquery in join sul giorno, in modo da evitare le ripetizioni

  7. #7
    Non ci avevo pensato! grazie mille!

    non ho ben chiaro ancora come fare, ma domani provo!

  8. #8

  9. #9
    Grande!
    è bastato mettere un join dopo le subquery e funziona tutto! Thx!

  10. #10
    ----------------------------------------------------
    nello spirito del forum, spiega come hai fatto (postando la soluzione), così aiuterai qualche altro forumista che dovesse avere lo stesso problema.
    ------------------------------------------------------------------------

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 © 2026 vBulletin Solutions, Inc. All rights reserved.