2013-03-21 37 views
5

Tôi không biết nhiều về SQL - Tôi chỉ viết một máy quét đăng ký sinh viên RFID có giao diện với cơ sở dữ liệu trong SQL Server.Cập nhật Máy chủ SQL Sử dụng Nhiều Bảng

Tôi chắc rằng điều này khá dễ thực hiện nhưng tôi không thể tìm được giải pháp cho vấn đề của mình.

Tôi muốn để có thể làm điều gì đó như thế này trong một hình thức cơ bản mà sẽ không làm việc:

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

Nhưng SQL Cập nhật đầy đủ cần phải được một cái gì đó như thế này:

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

'' 1100''? Các cột này, Varchars là gì? –

Trả lời

7

Ok, bạn cần thực hiện một việc như sau:

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 

Tôi đoán các cột liên quan đến bảng của bạn, nhưng nó hould rất gần với những gì bạn có, bạn cần phải sử dụng các cột thực sự.

+0

Vị cứu tinh !! Làm việc một điều trị ngay bây giờ. Cảm ơn! –

Các vấn đề liên quan