277 messaggi dal 13 giugno 2001
Ciao,

Come posso realizzare una query che estrae i dati da un db MySql nel caque mi deve ritornare come valore la somma di un campo meglio cosi descritto:


Nel db mi trova fra i vari campi presenti quelli (importo e tipologia).

Es.

Importo = 256 Tipologia=Entrata
Importo = 123 Tipologia=Entrata
.....

Importo = 89 Tipologia=Uscita
Importo = 199 Tipologia=Uscita
....

Dovrei fare una query che mi restituisca l'elenco di tutti i dati ragruppati per tipologia con la somma totale delle Entrate e delle Uscite che devo visualizzare su una sola riga in una tabella con due celle.

Quindi come in questo esempio dovrei avere

Cella 1. Totale entrate: 379,00
Cella 2. Totale uscite: 288,00

Grazie

Carmen
678 messaggi dal 12 maggio 2001
www.idioteca.it
Io la butto senza pensarci troppo...

SELECT Tipologia, SUM(Importo) AS totaleImporto FROM tabella GROUP BY Tipologia

Guarda se può essere una buona base per quello che vuoi fare.
ciao
277 messaggi dal 13 giugno 2001
Grazie, però cosi l'avevo penzata pure io, ma così facendo mi ritorna due record, mentre io sulla stessa riga x capirci vorrei visualizzare sia le entrate che le uscite.

Carmen
678 messaggi dal 12 maggio 2001
www.idioteca.it
ah... questo mi era sfuggito :-)
Puoi creare una funzione o una store procedure che concatena i risultati e li restituisce come vuoi tu...
In pratica la query è quella che ti ho segnalato io, ma devi eseguirla in un ciclo in cui recuperi le singole tipologie (sono solo due o possono crescere? Vedi tu se forzare la ricerca per le due tipologie o gestire il tutto più flessibilmente lasciandoti la libertà di gestirne n).

In pratica, messo come macro-codice (quindi da rivedere per la sintassi), puoi fare una cosa del genere:
CREATE TABLE #TabAppoggio(tabella d'appoggio)

SELECT DISTINCT Tipologia FROM tabella

FOR <OGNI TIPOLOGIA>

   #TabAppoggio.AGGIUNGI_COLONNA_CON_NOME("Totale <Tipologia>")

   SELECT SUM(Importo) AS totaleImporto FROM tabella WHERE Tipologia = <TipologiaCorrente>

   #TabAppoggio.AGGIUNGI_VALORE_COLONNA_CORRENTE(<totaleImporto>)

END FOR

SELECT * FROM #TabAppoggio


In alternativa potresti pensare ad una query unica, ma in questo modo lasci lavorare SQL Server e non ti complichi la vita :-)

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.