Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Query per aggregare per periodo

4 views
Skip to first unread message

Giodemi

unread,
Nov 23, 2009, 12:38:13 PM11/23/09
to
Ciao a tutti
Ho un portafoglio ordini dove a fronte di un codice ho la consegna prevista
in formato anno/mese (esempio 2009/11).
Devo aggregare per categoria e anno/mese con la particolarit� di accorpare
lo scaduto e tutto quello che va altre dodici mesi insieme.
Quindi, se la mia query � richiesta un qualsiasi giorno di novembre, devo
avere lo scaduto accorpato dal mese di novembre a tutti i mesi precedenti,
mentre la colonna "oltre" avr� l'accorpamento di tutto quello che ha come
data 2010/12 e oltre, e cos� via per interrogazioni nei mesi successivi.
Come imposto le due formule?
Ho bisogno di pi� query?


Grazie per l'attenzione e le possibili indicazioni


Alessandro Cara

unread,
Nov 25, 2009, 10:06:04 AM11/25/09
to
Giodemi ha scritto:

> Ciao a tutti
> Ho un portafoglio ordini dove a fronte di un codice ho la consegna prevista
> in formato anno/mese (esempio 2009/11).
> Devo aggregare per categoria e anno/mese con la particolaritᅵ di accorpare
> lo scaduto e tutto quello che va altre dodici mesi insieme.
> Quindi, se la mia query ᅵ richiesta un qualsiasi giorno di novembre, devo
> avere lo scaduto accorpato dal mese di novembre a tutti i mesi precedenti,
> mentre la colonna "oltre" avrᅵ l'accorpamento di tutto quello che ha come
> data 2010/12 e oltre, e cosᅵ via per interrogazioni nei mesi successivi.

> Come imposto le due formule?
> Ho bisogno di piᅵ query?
select categoria, annomese as periodo, sum(importo) from whatever where
annomese = year(date) & "/" & month(date) group by categoria,annomese
union
select categoria, "scaduto" from whatever where annomese < year(date) &
"/" & month(date) group by categoria, "scaduto"
union
select categoria, "oltre" from whatever where annomese > year(date) &
"/" & month(date) group by categoria, "oltre"
--
ac

P.S. : Hai riproposto il quesito, normalmente non si fa, ma quello che
soprattutto e' da evitare e' l'uso di un oggetto insulso o troppo
generico. Questo va bene, invece "Query(riprovo)" e' fuori dai canoni.
Mi hai preso in un momento di sbandamento e' sono intervenuto sull'altro.
Attenzione. I frequentatori del NG in genere non intervengono su post
con soggetto inadeguato
--
ac

Giodemi

unread,
Nov 25, 2009, 1:30:00 PM11/25/09
to


Ti chiedo ancora un attimo di pazienza

Ho chiamato la tabella TB e i campi visibili nell'altro post B C D e ho
scritto:

select TB.B, TB.D, sum(TB.C) from TB where
TB.D = year(date) & "/" & month(date) group by TB.B, TB.D
union
select TB.B, "scaduto" from TB where TB.D < year(date) &
"/" & month(date) group by TB.B, "scaduto"
UNION select TB.B, "oltre" from TB where TB.D > year(date) &
"/" & month(date) group by TB.B, "oltre";

per� qualcosa non va, visto che con l'SQL non sono ferrato
Puoi dirmi dove sbaglio?
Grazie


Alessandro Cara

unread,
Nov 25, 2009, 2:11:51 PM11/25/09
to
Giodemi ha scritto:
> perᅵ qualcosa non va, visto che con l'SQL non sono ferrato
> Puoi dirmi dove sbaglio?
L'SQL l'ho scrtto senza provarlo. Quello che hai scritto mi sembra
conforme al mio.
Dovresti riportare cosa dice nel messagio di segnalazione dell'errore
--
ac

Giodemi

unread,
Nov 25, 2009, 2:31:38 PM11/25/09
to

> Dovresti riportare cosa dice nel messagio di segnalazione dell'errore
> --
> ac

> L'SQL l'ho scrtto senza provarlo. Quello che hai scritto mi sembra
> conforme al mio.
> Dovresti riportare cosa dice nel messagio di segnalazione dell'errore
> --


il messaggio dice:
numero di colonne non corrispondente nelle due tabelle o query selezionate
di una query di unione

Ti aggiungo che il db � di prova con la sola tabella TB e la query creata
allo scopo


0 new messages