البرمجة

تحليل شامل لبيانات الموظفين باستخدام SQL وإضافة شرط WHERE

في محاولة لإضافة شرط WHERE إلى استعلام SQL الخاص بك الذي يتضمن عدة عمليات OUTER APPLY، يجب عليك تحديد ال ShowRoomId الذي تريد تمريره إلى الاستعلام. الجدول Employees يحتوي على حقل ShowRoomId، لذا يمكنك استخدامه في الشرط WHERE. فيما يلي تعديل على استعلامك:

sql
SELECT * FROM Employees A OUTER APPLY (SELECT TOP 1 * FROM EmployeeBasics B WHERE (A.EmployeeID = B.EmployeeID) ORDER BY B.BasicUpdateDate DESC) AS B OUTER APPLY ( SELECT C.EmployeeId , count(*) AS TotalAbsent FROM EmployeeAbsents C WHERE C.AbsentDate BETWEEN '2016-05-01' AND '2016-05-30' AND A.EmployeeID = C.EmployeeID GROUP BY C.EmployeeId ) AS C OUTER APPLY ( SELECT EmployeeId, SUM(CASE WHEN TransctionTypeId = 1 THEN Amount ELSE 0 END) AS Payment, SUM(CASE WHEN TransctionTypeId = 2 THEN Amount ELSE 0 END) AS RecoverSalary, SUM(CASE WHEN TransctionTypeId = 3 THEN Amount ELSE 0 END) AS RecoverCash FROM dbo.EmployeeAdvances D WHERE A.EmployeeID = D.EmployeeID GROUP BY EmployeeId ) AS D WHERE A.ShowRoomId = YourShowRoomId;

يجب عليك استبدال YourShowRoomId بالقيمة الفعلية لـ ShowRoomId التي تريد استخدامها في الشرط WHERE. بهذا التعديل، يتم تحديد الصفوف التي تحتوي على ال ShowRoomId المحدد في جدول Employees.

المزيد من المعلومات

بالتأكيد، يُسلط الاستعلام الذي قمت بتوفيره الضوء على العديد من النواح الهامة في قاعدة البيانات الخاصة بك. يبدأ الاستعلام بفحص الجدول الأساسي Employees ويستخدم عمليات OUTER APPLY للتحقق من بعض المعلومات الإضافية.

أولاً، يتم فحص جدول EmployeeBasics باستخدام OUTER APPLY لاسترجاع أحدث تحديث للمعلومات الأساسية للموظف. يتم ذلك عن طريق استخدام TOP 1 مع ORDER BY لفرز السجلات بناءً على تاريخ تحديث BasicUpdateDate بترتيب تنازلي.

ثم يتم فحص جدول EmployeeAbsents باستخدام OUTER APPLY لاحتساب إجمالي أيام الغياب لكل موظف خلال فترة زمنية معينة (من ‘2016-05-01’ إلى ‘2016-05-30’). تظهر النتائج في العمود TotalAbsent.

أيضًا، يتم فحص جدول EmployeeAdvances باستخدام OUTER APPLY لحساب إجمالي المدفوعات والمبالغ المستردة والنقدية المستردة لكل موظف. يتم ذلك من خلال استخدام CASE WHEN لتصفية المعلومات بناءً على TransctionTypeId.

أخيرًا، يتم إضافة شرط WHERE لتحديد الصفوف المرتبطة بقيمة معينة لحقل ShowRoomId في جدول Employees. هذا يسمح بتحديد البيانات المتعلقة بصالة العرض المحددة.

يجمع الاستعلام بين هذه المعلومات من مختلف الجداول لتوفير نظرة شاملة حول الموظفين، بما في ذلك معلوماتهم الأساسية، والأيام التي كانوا غائبين فيها، والمبالغ المالية التي دُفعت لهم أو تم استردادها.

زر الذهاب إلى الأعلى