Query raggruppamento e totali

di il
10 risposte

Query raggruppamento e totali

Buongiorno,
vi sottopongo un problema che non riesco a risolvere:
Ho un query che mi descrive un lavoro fatto per un cliente, i campi sono i seguenti:

ID_____________________147
id_esterno _____________ 18
cliente________________ Rossi
Importo_preventivo______5000
Resoconto_____________14468,71
PATTUITO_____________14468,71

Alla fine dei lavori emetto le fatture che risultano da altra query come segue
ID_____________162__________217
Data ________20/1/16_______20/2/16
No_Fatt________107___________37
Importo fatt____4000_________ 3000
id_esterno ______18___________18
cliente________rossi_________rossi

Il cliente paga e da un’altra query ottengo:
ID___________________1733_________1975________2214
id_esterno_____________18___________18__________18
cliente_______________Rossi_________Rossi_______Rossi
AB__________________assegno_______bonifico_____assegno
importo ricevuto_______4000_________3000_________3000

Infine creo una query che mi riassume il tutto ed ottengo:
id_esterno___cliente___Resoconto____PATTUITO _____bonifico____assegno______tot_________importo fatt
18__________Rossi____14.468,71____14.468,71_____3000,0_____3000,000____3.000,00______3.000,00
18__________Rossi____14.468,71____14.468,71_____3000,0_____3000,000____3.000,00______4.000,00
18__________Rossi____14.468,71____14.468,71_____0,000______4000,000____4.000,00______3.000,00
18__________Rossi____14.468,71____14.468,71_____0,000______4000,000____4.000,00______4.000,00

Io però vorrei:
id_esterno___cliente___Resoconto____PATTUITO _____bonifico____assegno______tot_________importo fatt
18__________Rossi____14.468,71____14.468,71_____3000_______7000________10000_______10000

Mi sono letto mezzo internet ma non ne vengo fuori, mi date una mano su come impostare la query di riassunto?
Grazie

10 Risposte

  • Re: Query raggruppamento e totali

    Per quello che ti serve si usano le funzionalita' della SELECT: JOIN, GROUP BY, SUM.

    La tua query, con 4 righe, usa una SELECT semplice, senza SUM & GROUP BY.

    Dovresti studiarti "Teoria relazionale dei dati": molte cose diventerebbero banali.
  • Re: Query raggruppamento e totali

    Si mi rendo conto che è un problema banale e sinceramente prima di scrivere ho titubato per la figuretta che avrei fatto
    Mi postate qualche link per approfondire

    Grazie
  • Re: Query raggruppamento e totali

    Scusa, ma che link vuoi???
    Vuoi dire che non sei capace di fare una ricerca sui termini indicati da Migliorabile?

    E poi, ti basta aprire il tuo database, creare una nuova query guidata, aggiungere le tue tabelle, ecc.
    Hai la guida con tutto quello che ti serve.

    Niente è banale.
    Banali sono le cose che si conoscono, e quelle che non si conoscono si studiano.

  • Re: Query raggruppamento e totali

    Va bene. torno a studiare. mi faccio vivo quando faccio dei passi avanti
  • Re: Query raggruppamento e totali

    Ora va bene che sono l'ultimo degli utenti junior e che mi inchino ai saggi però permettetemi:
    1° se uso creazione guidata di query semplice il problema non lo risolvo perchè il campo assegno o bonifico comunque non me lo raggruppa, se tolgo questa distinzione ok altrimenti nell'esempio che ho fatto restano comunque 2 record

    2°poi creazione guidata usa SUM e GROUPBY il che va contro a quanto dice migliorabile.

    A parte che non ho capito come fare una query semplice senza raggruppamenti e come li sommo i campi?
  • Re: Query raggruppamento e totali

    Io leggendo [Migliorabile] comprendo questo che mi pare il suggerimento da usare:

    migliorabile ha scritto:


    Per quello che ti serve si usano le funzionalita' della SELECT: JOIN, GROUP BY, SUM.
    Mentre questo è probabilmente quello che fai, e che evidentemente è il probabile oggetto della modifica suggerita sopra:

    migliorabile ha scritto:


    La tua query, con 4 righe, usa una SELECT semplice, senza SUM & GROUP BY.
    Personalmente trovo coerenza, perchè non potrebbe essere altrimenti, in tutti i suggerimenti che sono stati forniti...

    Creare una Query con Raggruppamento ti basta mettere le Tabelle oggetto nel QueryBuilder, definire correttamente i JOIN, inserire i campi che servono, e premere nel menù il Button di SOMMATORIA... poi si definisce per ogni campo se è oggetto di RAGGRUPPAMENTO o SOMMA o... altro.

    Magari mi sbaglio....
  • Re: Query raggruppamento e totali

    Mea culpa, avevo letto male il post di “migliorabile”. Scusate.
    Ho fatto la procedura guidata e facendo un po’ di prove e sono giunto alla conclusione che il problema è nelle relazioni, non poteva essere diversamente.
    In allegato invio immagine delle relazioni.
    La tabella conti è quella che riassume tutti i clienti ed è collegata con relazione uno a molti con tutte le altre. Sono tutte con proprietà INNER JOIN in quanto nella tabl conti ci sono tutti
    Fino a quando metto nella query il riepilogo (tbl_riep) e le riscossioni (tbl_mov) tutto ok
    Nel momento in cui aggiungo le fatture (tbl_fatturazione) il raggruppamento funziona ovvero solo 1 record per cliente ma le somme sballano.
    Ovviamente succede lo stesso anche se inverto aggiungendo dopo riscossioni rispetto a fatturazione
    Cosa ne pensate? Dov’è che sbaglio?
    Ultima domanda ma se parto da Query invece che da tabelle è lo stesso? Perché se parto da tabelle nella relazione non appaiono i simboli 1 e infinito?
    Grazie mille
    Allegati:
    19437_ba90a6279ab4f619d826aeadedc7a6b4.png
    19437_ba90a6279ab4f619d826aeadedc7a6b4.png
  • Re: Query raggruppamento e totali

    Buongiorno,

    ci ho messo tutta la mattina e una nottata di lettura su internet ma ho risolto
    ho crato query con raggruppamento e i vari campi li ho sommati con DSUM e criteri multipli
    FUNZIONA
    Per curiosità esiste un altro metodo per risolvere il problema che dicevo nel post precedente?
    lo potevo risolvere agendo sulle relazioni?
    vi ripeto anche la domanda precedente (che poi avevo sbagliato) ma se parto delle query cambia qualcosa? perchè nelle relazioni tra Query non appaioni 1 e infinito?

    Grazie a tutti
  • Re: Query raggruppamento e totali

    Le Relazioni sono una cosa... i JOIN un'altra..., hanno origine diversa e scopi diversi.
    Qui servirebbe tu studiassi la teoria però, altrimenti risponderti sarebbe inuntile data la domanda.
  • Re: Query raggruppamento e totali

    Ok Alex continuo a studiare, piano piano ci arrivo.
    Però ho cantato vittoria troppo presto

    riporto una espressione che ho usato:
    PAG TOT: IIf(IsNull([tbl_MOV]![id_sottoconto]);"";(DSum("[avere]";"[tbl_MOV]";"[id_sottoconto] = " & [id_sottoconto])))
    Vorrebbe dire:
    se la chiave id_sottoconto è nulla metti "" altrimenti fammi la somma dei pagamenti per quella chiave esterna
    il formato risultante è testo; dovrebbe essere valuta
    se vado su proprietà e cerco di cambiare il formato dal menu a tendina non compaioni i vari formati disponibili. Non compare niente.
    Com'è possibile?

    grazie
Devi accedere o registrarti per scrivere nel forum
10 risposte