Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123

    [ACCESS] query di somma e raggruppamento

    Ciao a tutti, ho 4 tabelle: clienti, ricevute, prodotti_ricevuta, prestazioni_ricevuta:
    clienti:
    id_cliente
    nome

    ricevute:
    id_ricevuta
    id_cliente
    data_ricevuta

    prodotti_ricevuta:
    id_ricevuta
    quantita
    prezzo

    prestazioni_ricevuta:
    id_ricevuta
    quantita
    prezzo

    Vorrei ottenere l'elenco di tutte le ricevute, emesse in un determinato anno, comprensivo del totale per ogni ricevuta (dato dalla tabella prodotti+prestazioni).
    Sono riuscito a farlo con la seguente query:
    codice:
    SELECT ricevute.*, clienti.nome AS cliente, r.SommaDitotale
    FROM (clienti INNER JOIN ricevute ON clienti.id_cliente = ricevute.id_cliente)
    INNER JOIN 
    (SELECT ricevute.id_ricevuta,  Sum(p.totale) AS SommaDitotale
    FROM ricevute INNER JOIN (SELECT prestazioni_ricevuta.id_ricevuta,  Sum(prestazioni_ricevuta.quantita*prestazioni_ricevuta.prezzo) AS totale
    FROM prestazioni_ricevuta 
    GROUP BY  prestazioni_ricevuta.id_ricevuta
    UNION
    SELECT  prodotti_ricevuta.id_ricevuta,  Sum(prodotti_ricevuta.quantita*prodotti_ricevuta.prezzo) AS totale
    FROM prodotti_ricevuta
    GROUP BY  prodotti_ricevuta.id_ricevuta) AS p ON ricevute.id_ricevuta = p.id_ricevuta
    GROUP BY ricevute.id_ricevuta) AS R ON ricevute.id_ricevuta=R.id_ricevuta
    WHERE year(data_ricevuta)=2011;
    Mi sembra che sia troppo complessa...che ne dite? c'è un modo migliore per ottenere quanto mi serve?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.