Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    17

    [SQL]Query nidificate

    Ciao a tutti... Devo chiedervi una mano...
    Supponiamo di avere una tabella di questo tipo contenente dei movimenti contabili:


    Ora, se io volessi farmi restituire tutti i movimenti contabili del cliente Rossi dovrei fare una query del tipo:

    SELECT *
    FROM tabella
    WHERE Cliente="Rossi"

    e fin qui ci siamo... il problema è che a me, oltre al resultset così ottenuto, mi servirebbe sapere il totale dei movimenti suddivisi per classe:

    Totale prestazioni = 1700,00
    Totale spese = 25,00

    Per fare questo avevo pensato di eseguire una SELECT SUM però, per non stare a ripetere tutti i filtri (ne ho davvero tanti) sulla seconda select, non c'è modo di applicarla al resultset della prima query trattandolo come se fosse una tabella?

    Spero di essermi spiegato bene... :master:

  2. #2
    uhm,prima cosa la composizione della tabella non esce scritta,forse hai sbagliato qualcosa nella compilazione di questo form in ogni caso a quanto ho capito,potresti mettere una group by a fine select e utilizzare una sum per sommare.
    Es.

    codice:
    SELECT SUM(prestazioni),SUM(spesa) FROM tabella WHERE id="rossi" GROUP BY classe
    oppure potresti creare una vista sulla tabella,anche se la vedo un po superflua come soluzione,magari se espliciti la tabella e dai qualche delucidazione in piu potrei esserti maggiormente di aiuto

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    17
    la composizione della tabella non l'ho scritta per esteso (sono un centinaio di campi) perchè pensavo che si intuisse dall'immagine...
    Per quanto riguarda la select SUM non posso utilizzarla perchè, come ho scritto, a me servirebbe sia il resultset contentente tutti i movimenti in dettaglio, sia il resultes contentente i totali... Scrivendo la select SUM invece avrei un solo resultset con i totali...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,313
    Originariamente inviato da Devil
    Per quanto riguarda la select SUM non posso utilizzarla perchè, come ho scritto, a me servirebbe sia il resultset contentente tutti i movimenti in dettaglio, sia il resultes contentente i totali... Scrivendo la select SUM invece avrei un solo resultset con i totali...
    Direi che la soluzione è... fare due query.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    non c'è modo di applicarla al resultset della prima query trattandolo come se fosse una tabella?
    certo che puoi trattare una query come una tabella... anche se dipende da che tipo di database usi...
    per esempio:

    codice:
    SELECT * FROM (SELECT * FROM altratabella WHERE campo1=valore1);
    spero di essermi spiegato.. ciao ciao
    I database... la mia passione + o -

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 © 2024 vBulletin Solutions, Inc. All rights reserved.