6

I don't know much about SQL - I'm just writing an RFID student registration scanner that interfaces to a database in SQL Server.

I'm sure this is quite easy to do but I could not find a solution for my problem.

I want to be able to do something like this in a basic form which won't work:

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

But the full SQL Update needs to be something like this:

UPDATE Attendance 
SET    A1 = 'TRUE' 
WHERE  Student.ID = '3a0070c48' 
  AND  Module.Day = 'Friday' 
  AND  '1100' BETWEEN Module.StartTime 
                  AND Module.EndTime ;
ypercubeᵀᴹ
  • 113,259
  • 19
  • 174
  • 235
Richard Pearce
  • 85
  • 1
  • 1
  • 4

1 Answers1

8

Ok, you need to do something like this:

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

I guessed the columns that related your tables, but it should be very close to what you have, you need to use the real columns.

Lamak
  • 69,480
  • 12
  • 108
  • 116