Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Query SQL con un "sum"

  1. #1
    Utente di HTML.it L'avatar di erin
    Registrato dal
    Sep 2000
    Messaggi
    398

    Query SQL con un "sum"

    Ho una query che dovrebbe prendermi tutti record della tabella fatture che abbiano almeno un record nella tabella dettagli_fattura e fin qui funziona in questo modo :

    SELECT distinct f.numero, f.id, f.nome_cliente, f.data FROM fatture f, dettagli_fattura d WHERE year(f.data) = ? and d.fattura = f.id

    Ora vorre che i singoli totali della tabella dettagli_fattura riferiti alla fattura venissero sommati e quindi potere avere il totale della fattura, ma non riesco a farlo
    Ho provato qyualcosa del tipo:

    SELECT distinct f.numero, f.id, f.nome_cliente, f.data, sum(d.totale) FROM fatture f, dettagli_fattura d WHERE year(f.data) = ? and d.fattura = f.id

    Qualcuno sa aiutarmi?

  2. #2
    codice:
    <%@ Language=VBScript %>
    <% Option Explicit %>
    
    <%
    Dim OBJdbConn
    Dim rst1
    Dim src
    Dim sConnStr
    %>
    <HTML>
    <HEAD>
    <TITLE>Prova esecuzione QUERY aggregazione con funzione sum</TITLE>
    </HEAD>
    <BODY> 
       <%
       src = Server.MapPath ("db1.mdb")  
       sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
    
       'Crea e apre un oggetto Connection
       Set OBJdbConn = Server.CreateObject("ADODB.Connection") 
       OBJdbConn.Open  sConnStr
    
       'Crea Oggetto RECORDSET
       Set rst1 = Server.CreateObject("ADODB.Recordset")
       rst1.CursorType = adOpenDynamic
       rst1.CursorLocation = adUseClient
       rst1.LockType = adLockOptimistic
    
       'Esegue la query di aggregazione e calcolo
       rst1.Open  "SELECT tab01.fld01, Sum(tab02.fld02) AS Sommacercata FROM tab01 LEFT JOIN tab02 ON tab01.fld01 = tab02.fld01 GROUP BY tab01.fld01", OBJdbConn
    
       Response.Write ("Elaborazione terminata. 
    Nell'archivio " & UCASE(rst1.Source) & " ci sono " & rst1.RecordCount & " record(s)
    
    ")
       while not rst1.EOF
          Response.Write "" & rst1(0).name & ": " & rst1(0) & "" & rst1(1).name & ": " & rst1(1)          & "
    "
          rst1.movenext
       wend
       Set Rst1 = Nothing
       Set OBJdbConn = Nothing
       %>
    </BODY>
    </HTML>
    Così dovrebbe funzionare...
    This machine has no brain. Please, use your own!

  3. #3
    Utente di HTML.it L'avatar di erin
    Registrato dal
    Sep 2000
    Messaggi
    398
    Sembra funzionare, per ora grazie mille

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.