2013-03-21 19 views
5

Non so molto di SQL - Sto solo scrivendo uno scanner di registrazione studente RFID che si interfaccia con un database in SQL Server.Aggiornamento server SQL utilizzando più tabelle

Sono sicuro che questo è abbastanza facile da fare ma non sono riuscito a trovare una soluzione per il mio problema.

Voglio essere in grado di fare qualcosa di simile in una forma di base che non funziona:

UPDATE Attendance 
SET A1 = 'TRUE' 
WHERE Student.ID = '3a0070c48' 
    AND Module.Day = 'Friday' ; 

ma l'aggiornamento di SQL completo deve essere qualcosa di simile:

UPDATE Attendance 
SET A1 = 'TRUE' 
WHERE Student.ID = '3a0070c48' 
    AND Module.Day = 'Friday' 
    AND '1100' BETWEEN Module.StartTime 
        AND Module.EndTime ; 
+0

''1100''? Cosa sono queste colonne, Varchars? –

risposta

7

Ok, devi fare qualcosa del genere:

UPDATE A 
SET A.A1 = 'TRUE' 
FROM Attendance A 
INNER JOIN Student S 
    ON A.StudentId = S.ID 
INNER JOIN Module M 
    ON A.ModuleId = M.ID 
WHERE S.ID = '3a0070c48' 
AND M.[Day] = 'Friday' 
AND '1100' BETWEEN M.StartTime AND M.EndTime 

Ho indovinato le colonne che hanno collegato le tue tabelle, ma è s dovrei essere molto vicino a quello che hai, devi usare le colonne reali.

+0

Salvatore !! Funziona a meraviglia ora. Grazie! –

Problemi correlati