Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Group + Sum

  1. #1

    Group + Sum

    ciao raga, utilizzo questa query con GROUP BY e SUM

    codice:
    sqlString_cartelli = "SELECT id_uscita, nome_cartello, quantita_prodotto, data_uscita, sum(quantita_prodotto) as totale
    FROM uscite_cart GOUP BY id_uscita, nome_cartello, nome_operaio, quantita_prodotto, data_uscita
    ORDER BY nome_cartello asc"
    SET RS_cartelli = con.Execute( sqlString_cartelli )
    DO Until (RS_cartelli.EOF)
    <%=RS_cartelli("nome_cartello)%>
    <%=RS_cartelli("data_uscita")%>
    RS_cartelli.MoveNext
    Loop
    RS_cartelli.close
    Ottenendo questo:
    NOME A
    NOME A
    NOME A
    NOME B
    NOME B
    NOME B
    NOME C
    NOME C

    Vorrei ottenere qualcosa del genere
    NOME A
    NOME A
    NOME A
    totale quantità prodotto A (valore totale del SUM)
    ----------
    NOME B
    NOME B
    NOME B
    totale quantità prodotto B (valore totale del SUM)
    ----------
    NOME C
    NOME C
    totale quantità prodotto C (valore totale del SUM)
    ----------

    ho pravato mettendo qualcosa del genere ma il LOOP non va + e da problemi:
    codice:
    nome_c = RS_cartelli("nome_cartello")
    if (nome_c <> RS_cartelli("nome_cartello")) then
    response.Write("<hr>")
    else
    end if
    fatemi sapere belli
    non impazzire dietro il sistema! Sfruttalo!

  2. #2

  3. #3

    allora...vediamo...

    guarda ti posto il codice e uno screenshot:
    codice:
    <%  
      						
    sqlString_cartelli = "SELECT id_uscita, nome_cartello, codice_cartello, nome_operaio, destinazione, quantita_prodotto, data_uscita, ora_uscita, sum(quantita_prodotto) as totale FROM uscite_cart group by id_uscita, nome_cartello, codice_cartello, nome_operaio, destinazione, quantita_prodotto, data_uscita, ora_uscita ORDER BY nome_cartello asc"
    'response.write(sqlString_cartelli)
        SET RS_cartelli = con.Execute( sqlString_cartelli )
        DO Until (RS_cartelli.EOF)
    	nome_c = RS_cartelli("nome_cartello")
    	if (nome_c <> RS_cartelli("nome_cartello")) then
    		response.Write("<hr>")
    	else
    	end if
    %>
              <tr>
                <td colspan="5" width="503"><hr></td>
              </tr>
    		  <tr>
                <td valign="top" width="74">
    			<div align="center"><span class="Stile8" >')"><%=RS_cartelli("data_uscita")%>
    <%=RS_cartelli("ora_uscita")%></span></div>
    			</td>
                <td valign="top" width="135"><div align="center"><span class="Stile8"><%=RS_cartelli("nome_cartello")%></span></div></td>
                <td valign="top" width="132"><div align="center"><span class="Stile8"><%=RS_cartelli("destinazione")%></span></div></td>
                <td valign="top" width="118"><div align="center"><span class="Stile8"><%=RS_cartelli("nome_operaio")%></span></div></td>
                <td valign="top" width="45"><div style="text-align:center; color: red"><span class="Stile8"><%=RS_cartelli("quantita_prodotto")%></span></div><div style="text-align: center;"><span class="cod"><%=RS_cartelli("codice_cartello")%></span></div>
                </td>
    			<td valign="top" width="118"><div align="center"><span class="Stile8"><%=RS_cartelli("totale")%></span></div></td>
    
              </tr>
           <%
    		nome_c = RS_cartelli("nome_cartello")
    		RS_cartelli.MoveNext
    							
    		Loop
    		RS_cartelli.close
    
    	%>
    non impazzire dietro il sistema! Sfruttalo!

  4. #4
    Utente di HTML.it L'avatar di fero
    Registrato dal
    Dec 2000
    Messaggi
    265
    se fai una group by per data_uscita è normale che ti splitti quelle due voci in quanto le date sono differenti.....

    stessa cosa x destinazione e nominativo



    fai un group by solo per nome_cartello ed otterrai quanti ne hai venduti (ma non saprai a chi)
    Fero
    Vuoi conoscere nuovi Amici?

  5. #5

    ok ma

    Originariamente inviato da fero
    se fai una group by per data_uscita è normale che ti splitti quelle due voci in quanto le date sono differenti.....

    stessa cosa x destinazione e nominativo

    fai un group by solo per nome_cartello ed otterrai quanti ne hai venduti (ma non saprai a chi)
    ok, in effetti ha senso ma quindi cambia totalmente la query...giusto? come fare allora?
    non impazzire dietro il sistema! Sfruttalo!

  6. #6
    Utente di HTML.it L'avatar di fero
    Registrato dal
    Dec 2000
    Messaggi
    265
    codice:
    sqlString_cartelli = "SELECT nome_cartello, sum(quantita_prodotto) as totale
    FROM uscite_cart GOUP BY nome_cartello
    ORDER BY nome_cartello "
    e nella pagina avrai una riga per ogni nome cartello con il totale a fianco(ovviamente dovrai modificare la pagina che visualizza i dati
    Fero
    Vuoi conoscere nuovi Amici?

  7. #7

    ok ma però a me mi

    ok come mi hai consigliato funziona ma se volessi avere quello di cui parlavo nel primo post???

    NOME A
    NOME A
    NOME A
    totale quantità prodotto A (valore totale del SUM)
    ----------
    NOME B
    NOME B
    NOME B
    totale quantità prodotto B (valore totale del SUM)
    ----------

    nn riesco a ficcare un qualche IF che verifichi quando cambia ilnome del prodotto per scrivere un HR e dare il totale delle quantità dei prodotti con lo stesso nome!!
    non impazzire dietro il sistema! Sfruttalo!

  8. #8
    faccio un piccolo esempio:

    codice:
    attuale=""
    precedente=""
    variabile_con_totale=0
    DO Until (RS_cartelli.EOF)
    
    attuale=rs_cartelli("campo_che_distingue_A_da_B")
    
    if attuale<>precedente and precedente<>"" then
    response.write "riga con il totale: il totale è :" & variabile_con_totale
    variabile_con_totale=0
    end if
    
    precedente=attuale
    
    variabile_con_totale=variabile_con_totale+rs_carrelli("campo_con_il_numero_da_sommare")
    
    
    -....
    ....
    ....
    rs_cartelli.movenext
    loop
    se non ho sbagliato è corretto..cmq il concetto è quello

  9. #9

    SAN SANTINO

    santino83_11_04, che dire...SONO COMMOSSO....funziona ! !

    non impazzire dietro il sistema! Sfruttalo!

  10. #10
    e che ne dubitavi?


    sboronata

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.