تحديد JobNumber بناءً على مسح item_code_1 في آخر 2 ساعة
في استفسارك الخاص بك حول كيفية تحديد سجلات الـ “JobNumber” استنادًا إلى أحدث مسح، يمكن أن نقوم بذلك باستخدام SQL Server Management Studio 2012. هدفنا هو تحديد “JobNumber” إذا تم مسح أي من “item_code_1” خلال الساعتين الماضيتين فقط، وحيث أن “item_code_1” يحتوي على “JobNumber” ورقم اليوم ورقم التسلسل.
للقيام بذلك، يمكننا كتابة استعلام SQL يقوم بالانضمام بين الجدولين وتحديد السجلات التي تلبي شرط الفحص الزمني. في البداية، يمكننا استخدام دالة DATEADD
لطرح ساعتين من الوقت الحالي، ثم نقوم بالانضمام بين الجدولين عن طريق مطابقة “Item_Code_1” وفحص ما إذا كان الوقت المسجل في “Table2” يقع ضمن النطاق الزمني الصحيح.
-
تحسين تحديد الفم باستخدام OpenCV06/03/2024
-
كيفية كتابة XPath دقيقة04/04/2024
-
تحسين تحديد عناصر Selenium باستخدام XPath.01/02/2024
-
تعديل استعلام SQL لاستبعاد موظف معين03/04/2024
قد يكون الاستعلام كما يلي:
sqlSELECT DISTINCT t1.JobNumber
FROM Table1 t1
JOIN Table2 t2 ON t1.Item_code_1 = t2.Item_Code_1
WHERE t2.Scanned_date_time >= DATEADD(HOUR, -2, GETDATE())
في هذا الاستعلام، نستخدم DISTINCT
للحصول على “JobNumber” فريدة، ونستخدم JOIN
للانضمام بين الجدولين. يتم فحص ما إذا كانت “Scanned_date_time” في “Table2” تقع ضمن الساعتين الماضيتين باستخدام DATEADD
و GETDATE()
.
بهذه الطريقة، يتم استرجاع “JobNumber” فقط إذا كان أحد “item_code_1” قد تم مسحه خلال الفترة الزمنية المحددة.
يمكن تعديل هذا الاستعلام وتكييفه بما يتناسب مع هيكل الجداول الفعلي ومتطلباتك الخاصة.
المزيد من المعلومات
لتوضيح الاستعلام بشكل أفضل وزيادة الفهم، دعونا نلقي نظرة على الكود بتفصيل أكبر.
أولاً، نقوم بفحص السجلات في “Table1″ و”Table2” باستخدام الجملة SELECT DISTINCT t1.JobNumber
، حيث يتم استخدام DISTINCT
للحصول على قيم فريدة من “JobNumber”. هذا يعني أننا لا نحتاج لرؤية سجلات مكررة لنفس “JobNumber”.
ثم يتم الانضمام بين الجدولين باستخدام JOIN
باستخدام الشرط ON t1.Item_code_1 = t2.Item_Code_1
، حيث يتم مطابقة السجلات في الجدولين باستناد إلى قيم “Item_code_1”.
بعد ذلك، يتم تحديد الشرط الزمني باستخدام WHERE t2.Scanned_date_time >= DATEADD(HOUR, -2, GETDATE())
، حيث يقوم DATEADD(HOUR, -2, GETDATE())
بطرح ساعتين من الوقت الحالي باستخدام دالة GETDATE()
، وهذا يعني أننا نبحث عن السجلات التي تم مسحها في الساعتين الأخيرتين.
باختصار، الاستعلام يسترجع “JobNumber” من “Table1” إذا كان أحد “item_code_1” قد تم مسحه خلال الفترة الزمنية الأخيرة. يمكنك تنسيق هذا الاستعلام وتكييفه حسب احتياجاتك الخاصة إذا كان هناك تفاصيل إضافية أو متطلبات خاصة.