Post by Shotok... capisco. Provero' a postare tutte le informazioni
Eccomi:
ecco la struttura del DB (si tratta di un database che mi deve
consentire un controllo dei consumi di carburante associati a card di
prelievo)
tabella "t_rifornimenti" con i seguenti campi:
ID (campo univoco), scheda, N_prelievo, data, targa, distributore,
indirizzo, comune, carburante, quantità, importo, KM.
tabella "t_carte" con i seguenti campi:
N_soc (campo univoco), tipo, marca, targa, settore, assegnatario, N°
card.
prima query (q_estrazione_totale) che mi collega le due tabelle in
relazione con i campi "scheda" e "n°card" e mi estrae due campi "mese"
ed "anno" dal campo "t_rifornimenti!data"
ecco l'SQL:
SELECT t_rifornimenti.id, t_rifornimenti.scheda,
t_rifornimenti.N_prelievo, t_rifornimenti.KM, t_rifornimenti.data,
Year(t_rifornimenti!data) AS anno, Month(t_rifornimenti!data) AS mese,
t_rifornimenti.targa, t_rifornimenti.distributore,
t_rifornimenti.indirizzo, t_rifornimenti.comune,
t_rifornimenti.carburante, t_rifornimenti.quantità,
t_rifornimenti.importo, t_carte.N_SOC, t_carte.TIPO, t_carte.TARGA,
t_carte.SETTORE, t_carte.ASSEGNATARIO
FROM t_rifornimenti INNER JOIN t_carte ON t_rifornimenti.scheda =
t_carte.[N° CARD];
seconda query (q_minMax) che mi raggruppa i dati dei prelievi per mese
ed anno estraendomi il conteggio minimo e massimo dei KM del periodo
allo scopo di verificare al percorrenza del periodo stesso e mi
calcola il numero di prelievi del periodo, la somma dei litri e
l'importo totale dei rifornimenti effettuati. Ho dovuto estrarre anche
il min di ID della tabella rifornimenti allo scopo di effettuare il
raggruppamento.
ecco l'SQL:
SELECT Min(q_estrazione_totale.id) AS MinDiid,
q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA, q_estrazione_totale.TIPO,
q_estrazione_totale.SETTORE, q_estrazione_totale.ASSEGNATARIO,
Max(q_estrazione_totale.KM) AS MaxDiKM, Min(q_estrazione_totale.KM) AS
MinDiKM, q_estrazione_totale.anno, t_mese.mese, t_mese.ID,
Count(q_estrazione_totale.N_prelievo) AS ConteggioDiN_prelievo,
Sum(q_estrazione_totale.quantità) AS SommaDiquantità,
Sum(q_estrazione_totale.importo) AS SommaDiimporto
FROM q_estrazione_totale INNER JOIN t_mese ON q_estrazione_totale.mese
= t_mese.ID
GROUP BY q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA,
q_estrazione_totale.TIPO,q_estrazione_totale.SETTORE,
q_estrazione_totale.ASSEGNATARIO, q_estrazione_totale.anno,
t_mese.mese, t_mese.ID
ORDER BY q_estrazione_totale.scheda, q_estrazione_totale.anno,
t_mese.ID;
terza query (q_KM_percorsi) in cui inserisco un campo calcolato che mi
conteggia il percorso del perido come differenza tra MinDiKm e
MaxDiKm. A questo punto vorrei inserire anche il contatore del record
allo scopo di poter poi procedere con il calcolo progressivo delle
percorrenze chilometriche.... ma qui mi blocco.
ecco l'SQL
SELECT q_MinMax.scheda, q_MinMax.N_SOC, q_MinMax.TARGA, q_MinMax.TIPO,
q_MinMax.SETTORE, q_MinMax.anno, q_MinMax.mese, q_MinMax.MaxDiKM,
q_MinMax.MinDiKM, [MaxDiKM]-[MinDiKM] AS percorsi,
q_MinMax.SommaDiquantità, q_MinMax.SommaDiimporto,
q_MinMax.ConteggioDiN_prelievo, q_MinMax.MinDiid
FROM q_MinMax;
Di nuovo grazie.... comunque vada.
Ciao