Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    query con sum , between e group by

    ciao ragazzi..
    mi sa che sono andato oltre il mio sapere..:-(

    Praticamente devo estrapolare da un DB delle prenotazioni e ragrupparli per Trimestre e sommarne l'importo..

    I Nomi dei campi interessati sono i seguenti:
    ID
    Totale
    Partenza
    Status

    Praticamente sono partito con questa:

    codice:
    SQL="SELECT id, partenza, Sum(Totale) As Somma, status FROM Preno WHERE Partenza between #01/01/2004# And #31/03/2004# And (LCase(Status) = 'ok' or LCase(Status) = 's-ok') And Id_Struttura="& ID &" Group By Id, Partenza, Status"
    ..ma il risultato che ottengo..e che mi visualizza tot righe per quanti sono i record trovati e non mi fa la somma dei record ma mi visualizza il totale di quel determinato record.

    Premetto che per visualizzare la somma faccio così:

    RS("Somma")


    dove è che sbaglio?!?
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  2. #2
    allora sono riuscito a creare i trimestri così da cercare i vari periodi di riferimento..ho modificato il ciclo for ...next..

    ma purtroppo non riesco ancora a far sommare i risultati..mi preleva solo il primo record e basta..

    questo è il codice:

    codice:
    RigaSi = 0
    
    Oggi = FormatDateTime(Date,vbGeneralDate)
    Anno_Start = Datepart("yyyy", Oggi)
    Data_Inizio = CDATE("01/01/" & (Anno_Start-1))
    Data_Fine = CDate(Data_Inizio-1)
    
    For IDATA = 0 To 8
    Data_Da = DateAdd("q", IDATA, Data_Inizio)
    Data_A = DateAdd("q", IDATA+1, Data_Fine)
    
    
    Set Rs=Server.Createobject("Adodb.Recordset")
    
    SQL="SELECT cnt_id, id, partenza, Sum(Totale) As Somma, status FROM Preno WHERE Partenza Between 
    #"& CDate(Data_Da) &"# And #"& CDate(Data_A) &"# And (LCase(Status) = 'ok' or LCase(Status) = 's-ok') And Id="& ID &" Group By cnt_id, Id, Partenza, Status"
    Rs.open Sql, conn,1,3
    
    If Rs.Eof then
    
    Cnt_Id = 0
    Somma = 0
    Partenza = 0
    
    Else
    
    Cnt_Id = Rs("Cnt_Id")
    Somma = RS("Somma")
    Partenza = RS("Partenza")
    
    Rs.Movenext
    
    End If
    
    If RigaSI = 0 then
    ColoreRiga = "#ebebeb"
    RigaSi = 1
    else
    ColoreRiga = "#f0ffff"
    RigaSi = 0
    end if
    %>
                          <TR bgcolor="<%=ColoreRiga%>" class="corpo2">
                            <TD valign="middle" align="center"><FONT color="#FF0000" 
    
    class="piccolo"><%=IDATA+1%></FONT></TD>
                            <TD align="center" valign="middle" height="25"><%=Data_Da%> / <%=Data_A%></TD>
                            <TD align="center" valign="middle"><%=Cnt_Id%></TD>
                            <TD align="center" valign="middle"><%=Somma%></TD>
                            <TD align="center" valign="middle">&a=<%=data_a%>">data_rif</TD>
                            <TD valign="middle" align="center"><%=Partenza%></TD>
                            </TR>
                          <%
    Next
    
    
    Rs.close
    Set Rs = nothing
    in pratica..se non vi sono record nel trimestre di riferiemnto mi visualzia 0..OK..
    ma se vi sono record nel trimestre...mi prende solo il primo record ...e non mi somma i totale di quel trimestre..

    Qualcuno sa...dove sbaglio..?
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

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