Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: Query sfiziosa.....

  1. #11
    funzionano? separatamente ti danno i risultati che ti servono?

  2. #12
    nella seconda e nella terza poi manca la data...

  3. #13
    Ecco aggiunta la data.

    codice:
    SELECT data, Count(nome) AS NomeCont
    FROM tabella
    GROUP BY data DESC;
    
    SELECT data, Count(nazionalita) AS ItalianoCont
    FROM tabella
    WHERE nazionalita='Italiano'
    GROUP BY data DESC;
    
    SELECT data, Count(nazionalita) AS StranieroCont
    FROM tabella
    WHERE nazionalita='Straniero'
    GROUP BY data DESC;
    Eseguite separatamente, ottengo i risultati che mi servono (tranne gli zeri).
    Fino qui ci sono...
    :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #14
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    forse può esserti utile il sistema dei PIVOT ma li sto studiando ora anch'io e non ci ho capito 'na mazza
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #15
    Grazie wallrider, molto incoraggiante!



    PS: I due denti di questa iconcina sono quelli che mancano a questa .... Ci avevate mai pensato??
    + =
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #16
    sei sicura che GROUP BY data DESC funzioni?

    comunque, prova così

    codice:
    SELECT InData, SUM(TOTALE) AS TOTALE, SUM(ITALIANI) AS ITALIANI, SUM(STRANIERI) AS STRANIERI FROM
    
    (
    SELECT data AS InData, Count(nome) AS NomeCont AS TOTALE, 0 AS ITALIANI, 0 AS STRANIERI FROM tabella GROUP BY Data
    UNION
    SELECT data AS InData, 0 AS TOTALE, Count(nazionalita) AS ITALIANI, 0 AS STRANIERI FROM tabella WHERE nazionalita='Italiano' GROUP BY Data
    UNION 
    SELECT data AS InData, 0 AS TOTALE, 0 AS ITALIANI, Count(nazionalita) AS STRANIERI FROM tabella WHERE nazionalita='Straniero' GROUP BY Data
    )
    
    GROUP BY InData

  7. #17
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    Originariamente inviato da Picciola
    Grazie wallrider, molto incoraggiante!
    Beh, se non ci sono arrivato io non è detto che non ci arrivi te

    PS: I due denti di questa iconcina sono quelli che mancano a questa .... Ci avevate mai pensato??
    + =
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  8. #18

    Re: Query sfiziosa.....

    Originariamente inviato da Picciola
    Buongiorno a tutti!
    Mettiamo alla prova tutta la vostra sapienza...
    Diciamo che ho una tabella di questo tipo

    codice:
    ID    Data            Nome                  Nazionalita
    ---+---------------+---------------------+--------------
    1     01/01/2000      Mario Bianchi         Italiano
    2     01/01/2000      John Smith            Straniero
    3     01/01/2000      Claudio Rossi         Italiano
    4     11/01/2000      Robert Green          Straniero
    5     11/01/2000      Francois Lecroix      Straniero
    6     11/01/2000      Goran Lazic           Straniero
    7     11/01/2000      Marc Kelly            Straniero
    Secondo voi è possibile con una sola Query ottenere un output del genere?

    codice:
    DataRaggrDESC    NomeCont    ItalianoCont    StranieroCont
    ---------------+-----------+---------------+--------------
    11/01/2000       4           0               4
    01/01/2000       3           2               1
    Io non ci sono riuscita, soprattutto non sono riuscita a gestire gli zeri. Per ora sto risolvendo con una query e due variabili ciclate per contare gli italiani e gli stranieri, ma usare una query sola sarebbe un bel vantaggio!

    :master:
    Ciao,

    se il db che usi permette l'uso di una funzione tipo iif di access o case di sql server
    potresti provare così
    (per access)
    codice:
    SELECT Data,
               Count(*) as NOmeCont,
               SUM(iif(nazionalita='Italiano',1,0)) as ItalianoCont,
               SUM(iif(nazionalita='Straniero',1,0)) as StranieroCont
    FROM Tabella
    GROUP BY data

  9. #19
    SSPINTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXXXXXX! !!!
    Ma tu non sei un uomo, sei una QUERY vivente !
    Il tuo metodo è semplicemente PERFETTO (Uso DB Access), l'ho già messa in ASP e va una bomba! In effetti agli Iif non c'avevo pensato, e dire che ne faccio LARGO USO!

    Grazie anche ad Optime per il suggerimento e per la costanza, ma non sono riuscita ad applicarlo, mi restituisce un messaggio di errore:

    codice:
    SELECT InData, SUM(TOTALE) AS TOTALE, SUM(ITALIANI) AS ITALIANI, SUM(STRANIERI) AS STRANIERI FROM
    (
    SELECT data AS InData, Count(nome) AS NomeCont AS TOTALE, 0 AS ITALIANI, 0 AS STRANIERI FROM tabella GROUP BY Data
    UNION
    SELECT data AS InData, 0 AS TOTALE, Count(nazionalita) AS ITALIANI, 0 AS STRANIERI FROM tabella WHERE nazionalita='Italiano' GROUP BY Data
    UNION 
    SELECT data AS InData, 0 AS TOTALE, 0 AS ITALIANI, Count(nazionalita) AS STRANIERI FROM tabella WHERE nazionalita='Straniero' GROUP BY Data
    )
    GROUP BY InData;
    
    
    L'istruzione SELECT include una parola riservata o un argomento scritto in modo errato o mancante oppure la punteggiatura non è corretta
    Comunque GRAZIEEEEEEEEEEEEEEEEEEEEEE, è stato davvero istruttivo! Spero che sarà utile anche a qualcun'altro.

    BaciBaciBaci!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  10. #20
    Originariamente inviato da Picciola
    Grazie wallrider, molto incoraggiante!



    PS: I due denti di questa iconcina sono quelli che mancano a questa .... Ci avevate mai pensato??
    + =
    ahahah... non c'avevo mai pensato!!
    è il caso di dire... l'unione fa la forza.... o in questo caso fa la dentiera
    ...Se avanzo seguitemi... Se indietreggio uccidetemi...
    BiteFight... arruolati con me e non te ne pentirai

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.