2013-03-21 22 views
5

Nie wiem zbyt wiele o SQL - po prostu piszę skaner rejestracji studentów RFID, który łączy się z bazą danych w SQL Server.Aktualizacja SQL Server przy użyciu wielu tabel

Jestem pewien, że jest to dość łatwe, ale nie mogłem znaleźć rozwiązania dla mojego problemu.

Chcę być w stanie zrobić coś takiego w podstawowej formie, która nie będzie działać:

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

Ale pełny SQL Aktualizacja musi być coś takiego:

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

'' 1100''? Czym są te kolumny, Varchary? –

Odpowiedz

7

OK, musisz zrobić coś takiego:

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 

Zgadłem, że kolumny związane z tabel, ale to s może być bardzo blisko tego, co masz, musisz użyć prawdziwych kolumn.

+0

Zbawiciela !! Działa teraz. Dzięki! –

Powiązane problemy