|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 210
|
[SQL] Problema estrazione dati da due tabelle
Salve. Vi spiego subito il mio problema:
Ho una tabella che si chiama Courses_Registered (che rappresenta le iscrizioni di N utenti a M corsi): Courses_Registered (ID_Courses di tipo INT, barcode_Registered di tipo VARCHAR) Poi ho la tabella Registered che contiene una lista di persone: Registered (barcode, lastName, firstName tutti di tipo VARCHAR) Ho la necessità di recuperare la lista delle persone iscritte ad un determinato corso, quindi i miei riferimenti sono 2: il barcode per le persone e ID_Courses per i corsi. Mettiamo caso che volessi recuperare la lista delle persone iscritte al corso che ha come ID_Courses il valore 7. Ho provato a fare: Codice:
SELECT * FROM Registered WHERE barcode = (SELECT barcode_Registered FROM Courses_Registered WHERE ID_Courses = 7) ORDER BY lastName |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Sep 2008
Messaggi: 330
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Nel caso in cui,associato ad ogni bar-code tu avessi piu' di un utente (come mi sembra di avere capito sia il tuo caso), la tua query avrebbe dovuto restituire errore, e cosi' (magari) avresti capito cosa e dove aggiustare. Prova con IN al posto di = Codice:
SELECT * FROM Registered WHERE barcode IN (SELECT barcode_Registered FROM Courses_Registered WHERE ID_Courses = 7) ORDER BY lastName
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 210
|
Grazie mille funziona! Comunque sto usando SQLite
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:07.




















