Newsgroup: it.comp.appl.access
Titolo: query con 12 mesi

Salve a tutti,
come da oggetto vorrei una query che mi restituisse i dodici mesi dell'anno 
in unione a buste paga fatte.
Solo che le buste non sono sempre presenti per tutti i dodici mesi 
(all'assunzione non tutti iniziano in gennaio, e lo stesso vale per le 
dimissioni che non sempre corrispondono a dicembre).
Io però voglio che la query mi mostri 12 righe, anche se nessuna fosse unita 
con dati presenti.
Non so da che parte iniziare, aiuto.
Ivan 

 Ivan
Creati una tabella di comodo con i dodici mesi e lě ci leghi quello che vuoi
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it


Scusa, ma io volevo risolvere il tutto con una query, e non passando tramite 
tabella.
Anche una query Unione, ma .... da un lato non ho campi e dall'altro li 
voglio posizionati!
Cmq, vedrň di risolvere con righe di codice e tabella di appoggio. (pensavo 
ci fosse una soluzione pulita e non invasiva).
-- 
-- 
      /)/)               IVAN                (\/)
     (  '.')         NMCBRMC         ( '.' )
  o(_('')('')                               (")(")_)*
Non Microsoft Certified But Regular
             Microsoft Consumer

 --
Spiega meglio cos'hai e vediamo cosa si puň fare
(dacci struttura record)



Ciao MAssimiliano,
ho risolto tutto con una query a multiunione sulla stessa tabella, hocreato 
un campo fittizio per ogni mese ed ottengo il mio risultato.
(è un pò lentina ... ma funge). Per avere questa idea ho consultato il Sito 
Comune e l'esempio(che mi è servito)è il primo in alto!
Però in questa maniera ho un recordset bell'epronto per la mia maschera di 
riepilogo.
grz cmq
Ivan
PS
di seguito il codice delle due query che ho usato
1)   [xxxCedo_CampiIncrociati]  la query a campi incrociati che mi totalizza 
alkuni campi
TRANSFORM Sum(Cedo.pagaA) AS SommaDipagaA
SELECT Cedo.anno, Cedo.patto, Sum(Cedo.lordo) AS totLordo
FROM Cedo
GROUP BY Cedo.anno, Cedo.patto
PIVOT Cedo.mese;
2) [xxxForseBuonaPerVideoanno]    la query multiUnione che mi riempie i dati 
per ogni mese (anche se non ha dati!)
    In questo caso stò filtrando sul patto n. 1 (ma la creo dinamicamente da 
codice, e in realtà filtro anche su un anno specifico.
SELECT totLordo, "01.GENNAIO " As dmese, [1] As Orario
FROM xxxCedo_CampiIncrociati WHERE xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "02. FEBBRAIO" As dmese, [2] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "03. MARZO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "04. APRILE" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "05. MAGGIO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "06. GIUGNO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "07. LUGLIO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "08. AGOSTO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "09. SETTEMBRE" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "10. OTTOBRE" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "11. NOVEMBRE" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "12. DICEMBRE" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1;

[...]
rettifico solo la sintassi dell'ultima query, per chi fosse interessato
SELECT totLordo, "01.GENNAIO " As dmese, [1] As Orario
FROM xxxCedo_CampiIncrociati WHERE xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "02. FEBBRAIO" As dmese, [2] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "03. MARZO" As dmese, [3] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "04. APRILE" As dmese, [4] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "05. MAGGIO" As dmese, [5] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "06. GIUGNO" As dmese, [6] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "07. LUGLIO" As dmese, [7] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "08. AGOSTO" As dmese, [8] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "09. SETTEMBRE" As dmese, [9] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "10. OTTOBRE" As dmese, [10] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "11. NOVEMBRE" As dmese, [11] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1
UNION SELECT  totLordo, "12. DICEMBRE" As dmese, [12] As Orario
FROM xxxCedo_CampiIncrociati WHERE  xxxCedo_CampiIncrociati!patto = 1;
non avevo controllato bene!
Ivan