Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it L'avatar di canar
    Registrato dal
    Feb 2009
    Messaggi
    27

    Aiuto per inner join e sum stampa a video

    Salve a tutti,

    sono qui per un piccolo aiuto, devo effettuare un INNER JOIN tra due tabelle (e da codice postato ci sono riuscito) dal risultato di questo JOIN vorrei fare la somma di una colonna in base ad un semplice WHERE e stampare a video il risultato, ma sto trovando qualche difficoltà, ho provato a inserire una seconda stringa sql son il comando SUM ma senza risultati positivi, dove sbaglio? O avete qualche sugerimento?

    Grazie a tutti coloro che vorranno aiutarmi.
    <php>
    <%
    'Apriamo la connessione con il database
    set con = server.createObject("ADODB.Connection")
    con.open(strServerConnection)

    sqlString = "SELECT v.nome, c.id_f, c.id_v, c.n_f, c.q, c.desc, c.prez FROM villaggi AS v INNER JOIN costi_villaggi AS c ON c.id_v = v.id_v ORDER BY c.id_v"
    set rs = con.execute(sqlString)

    'Loop e stampa la tabella
    do while not rs.eof
    %>
    <table border="1" width="97%" id="table1" height="30">
    <tr>
    <td width="74"><%=rs("nome")%></td>
    <td width="68"><%=rs("q")%></td>
    <td width="304"><%=rs("desc")%></td>
    <td width="106">€ <%=rs("prez")%></td>
    <%
    sqlString = "SELECT SUM(prez) FROM costi_villaggi"

    %>
    <td width="94">€ <%=rs("prez")%></td>
    </tr>
    </table>
    <table width="95%" border="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#FFFFFF">
    <tr>
    <%
    rs.Movenext
    Loop
    con.Close
    %>
    </php>

  2. #2
    scusa ma perchè non fai il ciclo dell'innerjoin e sommi la variabile che ti interessa all'interno del ciclo?

  3. #3
    Utente di HTML.it L'avatar di canar
    Registrato dal
    Feb 2009
    Messaggi
    27
    Il mio problema è che se sommo la variabile all'interno del ciclo la stampera tante volte per quante row sono presenti nel DB, mentre io vorrei stamparla una volta per ogni gruppo che esiste nella tebella.
    Come fare?

    N.B.
    Mi sono dimenticato di avvisare che questo è il mio primo approccio con l'asp, ma non con il sql.

  4. #4
    fai la somma e poi stampi la variabili fuori dal ciclo.
    Ti faccio un esempio non prenderlo proprio per oro colato perchè non sono risucita a capire esattamente cosa hai bisogno. Anche come hai impostato te la somma verrebbe scritta tante volte.

    codice:
    sqlString = "SELECT v.nome, c.id_f, c.id_v, c.n_f, c.q, c.desc, c.prez FROM villaggi AS v INNER JOIN costi_villaggi AS c ON c.id_v = v.id_v ORDER BY c.id_v"
    set rs = con.execute(sqlString)
    
    'Loop e stampa la tabella
    do while not rs.eof
    %>
    <table border="1" width="97%" id="table1" height="30">
    <tr>
    <td width="74"><%=rs("nome")%></td>
    <td width="68"><%=rs("q")%></td>
    <td width="304"><%=rs("desc")%></td>
    <td width="106">€ <%=rs("prez")%></td>
    <%
    somma = somma +rs("prez")
    
    %>
    </tr>
    </table>
    <table width="95%" border="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#FFFFFF">
    <tr>
    <%
    rs.Movenext
    
    
    Loop
    
    con.Close
    %>
    <tr><td width="94">€ <%=somma%></td>
    </tr>

  5. #5
    Utente di HTML.it L'avatar di canar
    Registrato dal
    Feb 2009
    Messaggi
    27
    Allora cerchero di essere più chiaro, nella tabella costi_villaggi ci sono le singole spese di ogni utente io devo fare una tabella dove si possa vedere per ogni utente le spese effettuate e stampi la somma di tutte le spese di ogni singolo utente.

    Il tuo post precedente è stato comunque utile, grazie comunque per l'aiuto, spero di essere stato abbastanza chiaro in modo da poterti agevolare nel aiuto.

    Grazie.

  6. #6
    la logica comunque è sempre la stessa.

    fai la qry sulla tabella costi villaggio dove utente è quello interessato.
    fai un ciclo dove all'interno sommi la singola spesa

    fuori ciclo stampi questa somma.

  7. #7
    Utente di HTML.it L'avatar di canar
    Registrato dal
    Feb 2009
    Messaggi
    27
    Si infatti e quello che vorrei fare, anche perchè io non sono interessato a stampare un singolo utente ma tutti, il problema è che non so come fare per stamapre tutti gli utenti e visualizzare la somma, ovvero di mettere in loop la stringa sql con una variabile da incrementare.

  8. #8
    Ok provo a scrivere i campi e i nomi li sto mettendo a caso però.

    Se ho capito bene dovrebbe cambiare la parte in rosso
    codice:
    ' a questo punto selezioni i vari utenti vero?
    sqlString = "SELECT v.nome, c.id_f, c.id_v, c.n_f, c.q, c.desc, c.prez FROM villaggi AS v INNER JOIN costi_villaggi AS c ON c.id_v = v.id_v ORDER BY c.id_v"
    set rs = con.execute(sqlString)
    
    'Loop e stampa la tabella
    do while not rs.eof
    %>
    <table border="1" width="97%" id="table1" height="30">
    <tr>
    <td width="74"><%=rs("nome")%></td>
    <td width="68"><%=rs("q")%></td>
    <td width="304"><%=rs("desc")%></td>
    <td width="106">€ <%=rs("prez")%></td>
    <%
    
    sqlSomma = "select * from costi_villaggi where id_ute=" & rs("id_ute")
    set rsSomma = con.execute(sqlSomma )
    somma  = 0
    while not rsSomma.eof
            somma = somma + rsSomma("pez") 
    
            rsSomma.movenext
    wend
    rsSomma.close
     
    %>
    <tr><td width="94">€ <%=somma%></td>
    </tr>
    </tr>
    </table>
    <table width="95%" border="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#FFFFFF">
    <tr>
    <%
    rs.Movenext
    
    
    Loop
    
    con.Close
    %>

  9. #9
    Utente di HTML.it L'avatar di canar
    Registrato dal
    Feb 2009
    Messaggi
    27
    Yes, è cosi, provo questo pomeriggio anche perchè forse mi è venuta in mente un altra soluzione, avrai mie notizie.

    Grazie per la disponibilità!!

  10. #10
    non c'è di che siamo qui per aiutare.
    Oggi pomeriggio non ci sarò ma domani provo a guardare.

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.