576 messaggi dal 30 aprile 2003
Ciao a tutti

Ho 2 recordset nella mia pagina ASP:
- il primo è la lista di tutti i miei utenti:
"SELECT DISTINCT cognome, id FROM table1"
- la seconda è la lista degli utenti che partecipano a una visita:
"SELECT DISTINCT cognome, id FROM table1, table2 WHERE table2.codvis = " & Request("codvis") & " AND table1.id = table2.id"

Voglio mostrare l'elenco di tutti gli utenti in una tabella tramite ciclo FOR, e delle checkbox (contenenti l'id come valore) che devono essere selezionate se l'utente partecipa a quella visita (cioé se vengono estratti dalla 2° query)

Stavo pensando di usare una join anziché 2 recordset... sapete darmi una dritta?

Grazie

Prima o poi diventerò un guru!
3.122 messaggi dal 16 maggio 2002
Non devi usare una inner join ma una outer join (left o right a seconda dell'ordine delle tabelle), in modo da includere anche quegli utenti che compaiono in una tabella ma non nell'altra.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
576 messaggi dal 30 aprile 2003
Ho provato così:

SELECT b.cognome, b.id, a.codvis FROM table1 b, table2 a WHERE b.id = a.id(+) AND (a.codvis = " & Request("codvis") & " OR a.codvis IS NULL) ORDER BY cognome


Funziona, però non mi visualizza tutti gli utenti!
Cioé, io ne ho 130 ma ne visualizza solo una quarantina...

Prima o poi diventerò un guru!
3.122 messaggi dal 16 maggio 2002
Devi usare una outer join come ti ho detto. Ad esempio:
sql = "SELECT b.cognome, b.id, a.codvis FROM table1 b LEFT JOIN table2 a ON b.id = a.id WHERE a.codvis = " & Request("codvis") & " OR a.codvis IS NULL ORDER BY cognome"

Provala, spero che funzioni.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.