Visualizzazione dei risultati da 1 a 5 su 5

Discussione: doppia query

  1. #1

    doppia query

    Ho bisogno di fare due query legate fra loro.
    Nel db (access) ho 2 tabelle: tabella1 e risposte.
    Dalla tabella1 devo recuperare tutti i cognomi che hanno un determinato nome (che mi viene passato da un'altra pagina). Fin qui tutto bene. Li mostro come checkbox già selezionati.
    Vorrei poi mostrare tutti i cognomi (come checkbox non selezionati) presenti nella tabella risposte dove il nome è quello che mi arriva dalla pagina precedente e il cognome è diverso da tutti quelli trovati nella tabella1.

    Ho provato così, ma vcognome assume solo l'ultimo valore della prima query, per cui nella seconda mi vengono mostrati tutti tranne l'ultimo.

    Come posso risolvere (se possibile senza modificare il db)?

    codice:
    sql6="select * from [tabella1] where [nome]='" &request.form("cnome")&"'"
    set rs6=con.execute(sql6)
    i=1
    do while not rs6.eof
    vcognome=rs6("cognome")
    response.write ("<input type=checkbox name=c" &i& " value="""&rs6("cognome")&""" checked>" &rs6("cognome")& "</input>
    ")
    i=i+1
    rs6.movenext
    loop
    
    sql5="select * from [risposte] where [nome]='" &request.form("cnome")&"' and not [cognome]='" &vcognome&"'"
    set rs5=con.execute(sql5)
    do while not rs5.eof
    response.write ("<input type=checkbox name=c" &i& " value="""&rs5("cognome")&""">" &rs5("cognome")& "</input>
    ")
    i=i+1
    rs5.movenext
    loop
    Grazie

    Alessandro

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    141
    Puoi provare così:
    sql5="select * from [risposte] where [nome]='" &request.form("cnome")&"' and [cognome] NOT IN (select cognome from [tabella1] where [nome]='" &request.form("cnome")&"')"

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    forse sto dicendo una scemenza ma i nomi dei box non dovrebbero essere diversi?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    141
    cosa intendi con diversi????
    Tu nella prima query ti salvavi vcognome=rs6("cognome")
    per poi usarlo nella where della seconda di conseguenza se tu escludi tutti i cognomi che ritornano dalla prima è giusto.
    Nel tuo caso vcognome conteneva sempre l'ultoimo record.

    Se non ti è chiaro chiedi che cercherò di spiegarti meglio.

  5. #5

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.