Group by:difficoltoso

lunedì 14 luglio 2008 - 11.38

alkes83 Profilo | Junior Member

Salve, ho una tabella in Access che è riempita in questo modo:

960x720 43Kb


e vorrei ottenere un conteggio di ogni colonna suddiviso per classi, in questo modo:


960x720 30Kb


Questo report lo creo con un software di reportistica chiamato iReport, che funziona dialogando con Access con linguaggio SQL, con delle query di select. Il problema è che se faccio una query di count di ogni colonna, e poi vado a fare delle group by, ottengo molti più valori invece che 8, e non sono nemmeno quelli veritieri. Potete aiutarmi dandomi una giusta stringa in SQL?

Grazie

Vincenzo

alx_81 Profilo | Guru

>Salve,
Ciao!

>Potete aiutarmi dandomi una giusta stringa in SQL?
Dovresti però fornirci la struttura della tabelle su cui devi eseguire la query, altrimenti non possiamo aiutarti.


>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

alkes83 Profilo | Junior Member

Guarda, mi sono sbagliato, la tabella che vedi nella figura è gia una query,

quindi in fin dei conti devo fare una query su un'altra query.

lbenaglia Profilo | Guru

>Potete aiutarmi dandomi una giusta stringa in SQL?

Ciao Vincenzo,

ipotizzando che la tabella si chiami Conteggi, una possibile soluzione potrebbe essere:

SELECT C1.Classe, C1.ContMAD1, C2.ContRitPart1, C3.ContRitArrivo1 FROM (( SELECT ContMAD AS Classe, COUNT(ContMAD) AS ContMAD1 FROM Conteggi GROUP BY ContMAD ) AS C1 INNER JOIN ( SELECT ContRitPart AS Classe, COUNT(ContRitPart) AS ContRitPart1 FROM Conteggi GROUP BY ContRitPart ) AS C2 ON C1.Classe = C2.Classe) INNER JOIN ( SELECT ContRitArrivo AS Classe, COUNT(ContRitArrivo) AS ContRitArrivo1 FROM Conteggi GROUP BY ContRitArrivo ) AS C3 ON C1.Classe = C3.Classe;

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alkes83 Profilo | Junior Member

Grazie, grazie,grazie!

Credevo che una cosa del genere non poteva farsi, e pensavo gia a tutti i casini.

Grazie, mi hai tolto da un sacco di pasticci

Vincenzo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5