Ciao a tutti. Non riesco a scrivere una query a campi incrociati.
In pratica avendo un campo di tipo date e una serie di messaggi come faccio a stilare un report del genere, dove mi mostri il totale di messaggi per mese/anno.
es.
Io ho scritto questa querycodice:anno gen feb... dic 2004 0 3 2 2005 4 2 3 2006 2 0 1
Ottengo la mia bella tabella con gli anni e i mesi ma i conteggi son sbagliati, nel senso che mi assegna il totale di ciascun anno a un solo mese. Immagino che il problema sia dovuto al fatto che raggruppo per anno, però, se faccio select extract(year_month from datas ) eccetera, ovviamente mi crea una riga per ogni mese/anno diverso che trova.codice:select year(datas) as anno, case month(datas) when 1 then count(mesg) else 0 end as gen, case month(datas) when 2 then count(mesg) else 0 end as feb, case month(datas) when 3 then count(mesg) else 0 end as mar, case month(datas) when 4 then count(mesg) else 0 end as apr, case month(datas) when 5 then count(mesg) else 0 end as mag, case month(datas) when 6 then count(mesg) else 0 end as giu, case month(datas) when 7 then count(mesg) else 0 end as lug, case month(datas) when 8 then count(mesg) else 0 end as ago, case month(datas) when 9 then count(mesg) else 0 end as sett, case month(datas) when 10 then count(mesg) else 0 end as ott, case month(datas) when 11 then count(mesg) else 0 end as nov, case month(datas) when 12 then count(mesg) else 0 end as dic from messaggi group by anno order by anno
Come risolvo? Grazie.![]()