funzionano? separatamente ti danno i risultati che ti servono?
funzionano? separatamente ti danno i risultati che ti servono?
nella seconda e nella terza poi manca la data...
Ecco aggiunta la data.
Eseguite separatamente, ottengo i risultati che mi servono (tranne gli zeri).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;
Fino qui ci sono...
:master:
Sto ancora imparando.... Chiedo comprensione!
!...Send ME a message...!
forse può esserti utile il sistema dei PIVOT ma li sto studiando ora anch'io e non ci ho capito 'na mazza![]()
Grazie wallrider, molto incoraggiante!
PS: I due denti di questa iconcinasono quelli che mancano a questa
.... Ci avevate mai pensato??
+
=
![]()
Sto ancora imparando.... Chiedo comprensione!
!...Send ME a message...!
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
Beh, se non ci sono arrivato io non è detto che non ci arrivi teOriginariamente inviato da Picciola
Grazie wallrider, molto incoraggiante!
![]()
PS: I due denti di questa iconcinasono quelli che mancano a questa
.... Ci avevate mai pensato??
+
=
![]()
![]()
Ciao,Originariamente inviato da Picciola
Buongiorno a tutti!
Mettiamo alla prova tutta la vostra sapienza...
Diciamo che ho una tabella di questo tipo
Secondo voi è possibile con una sola Query ottenere un output del genere?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
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!codice:DataRaggrDESC NomeCont ItalianoCont StranieroCont ---------------+-----------+---------------+-------------- 11/01/2000 4 0 4 01/01/2000 3 2 1
:master:
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
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:
Comunque GRAZIEEEEEEEEEEEEEEEEEEEEEE, è stato davvero istruttivo! Spero che sarà utile anche a qualcun'altro.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
BaciBaciBaci!
![]()
Sto ancora imparando.... Chiedo comprensione!
!...Send ME a message...!
ahahah... non c'avevo mai pensato!!Originariamente inviato da Picciola
Grazie wallrider, molto incoraggiante!
PS: I due denti di questa iconcinasono quelli che mancano a questa
.... Ci avevate 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