J'ai une table qui stocke les informations de présence sur un employé et une autre table qui stocke les informations sur le poste de l'employé qui est essentiellement une liste de droits.
Voici la structure à la table de présence p> Voici la structure et les données d'échantillonnage de la liste de droits. p> L'idée est de mettre à jour le code de recherche dans la table de présence TRP sur Changements stockés dans la liste des droits. Donc, si la participation à l'employé 1 code> est entre
'2019-09-01' code> et
'2019-09-05' code> puis le code posté pour Cet employé doit être mis à jour vers
24 code> et idem pour les autres employés. Si la liste des droits n'existe pas pour les dates présentes dans la table de présence, elle ne devrait pas la mettre à jour et le laisser comme ça.
J'ai besoin d'une requête de mise à jour. P> p>
3 Réponses :
quelque chose comme ceci: et avec mise à jour: p>
J'ai essayé celui-ci et ça marche aussi:
UPDATE Attendance SET ShiftCode = ISNULL((SELECT ShiftCode FROM Shifts Roster WHERE CAST(COALESCE(CheckIn, CheckOut) AS DATE) BETWEEN StartDate AND EndDate AND EmpCode = Attendance.EmpCode), (SELECT ShiftCode FROM EmployeeInfo WHERE EmployeeInfo.ID = Attendance.EmpCode))
Essayez ceci. Il sera utile