البرمجة

استعلام SQL للحصول على آخر الأسعار

لفهم الطلب بشكل أفضل، يبدو أنك تريد الحصول على آخر سعر (السعر الفعلي) لكل نوع من أنواع الأسعار لكل سلعة. وبالنظر إلى البيانات المقدمة، يبدو أن لديك جدول يحتوي على معلومات الأسعار للسلع.

لحل هذه المشكلة، يمكن استخدام نافذة الدالة المحددة ROW_NUMBER() لترتيب البيانات بناءً على التاريخ بشكل تنازلي، وبالتالي اختيار أحدث سعر لكل نوع من أنواع الأسعار لكل سلعة.

فيما يلي استعلام يقوم بذلك:

sql
WITH RankedPrices AS ( SELECT nom.id AS SKU, pt.price_type AS PriceType, p.date AS PriceDate, p.price AS Price, ROW_NUMBER() OVER (PARTITION BY nom.id, pt.price_type ORDER BY p.date DESC) AS RowNum FROM sc84 AS nom JOIN sc319 AS p ON p.PARENTEXT = nom.id JOIN sc219 AS pt ON p.sp327 = pt.id JOIN _1SCONST AS c ON c.objid = p.id ) SELECT SKU, PriceType, PriceDate, Price FROM RankedPrices WHERE RowNum = 1;

في هذا الاستعلام:

  • يتم استخدام CTE (Common Table Expression) لترتيب الأسعار بترتيب تنازلي مع تقسيمها بواسطة معرف السلعة ونوع السعر.
  • يتم تحديد الصفوف باستخدام الدالة ROW_NUMBER() مع ORDER BY p.date DESC لجعل أحدث الأسعار في الأعلى.
  • يتم اختيار الصفوف حيث يكون رقم الصف (RowNum) هو 1، وهو يمثل أحدث الأسعار لكل نوع من أنواع الأسعار لكل سلعة.

باستخدام هذا الاستعلام، يمكنك الحصول على آخر الأسعار لكل نوع من أنواع الأسعار لكل سلعة في جدول البيانات الخاص بك.

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

بالطبع، هنا بعض المعلومات الإضافية التي يمكن أن تكون مفيدة:

  1. مفهوم الاستعلامات في SQL: الاستعلامات في SQL هي عبارة عن جمل مركبة تستخدم لاسترجاع البيانات من قواعد البيانات. يمكن استخدامها للبحث عن البيانات، وتحليلها، وتعديلها، وحذفها، وإدراجها في قواعد البيانات.

  2. الاستعلامات المشتركة (CTE): CTE هي جملة مركبة في SQL تمكنك من تعريف مجموعة مؤقتة من البيانات التي يمكن استخدامها في الاستعلامات الرئيسية. تسهل CTE قراءة وفهم الاستعلامات الطويلة والمعقدة، وتجعل الاستعلامات أكثر فعالية وإدارة.

  3. دوال النوافذ (Window Functions): تستخدم دوال النوافذ مثل ROW_NUMBER() للتعامل مع مجموعات الصفوف في قواعد البيانات بشكل متقدم. تمكنك هذه الدوال من تنفيذ عمليات مثل الترتيب، والتجميع، والتحويل على مجموعة من الصفوف بطريقة توفير الوقت والجهد.

  4. الجملة الشرطية WHERE: يتم استخدام الجملة الشرطية WHERE في SQL لتصفية البيانات المسترجعة من الجدول بناءً على شروط محددة. يمكن استخدامها لتحديد الصفوف التي تريدها بناءً على مجموعة متنوعة من المعايير مثل القيمة في العمود أو التاريخ أو أي معيار آخر.

  5. المفتاح الرئيسي (Primary Key) والمفتاح الأجنبي (Foreign Key): هي مفاهيم أساسية في قواعد البيانات. المفتاح الرئيسي يحدد معرف فريد لكل سجل في جدول، بينما المفتاح الأجنبي يربط بين سجلين في جدولين مختلفين، حيث يكون قيمة المفتاح الأجنبي في جدول واحد تشير إلى قيمة المفتاح الرئيسي في جدول آخر.

  6. الانضمامات (Joins): تستخدم الانضمامات في SQL لربط البيانات من جداول مختلفة استنادًا إلى علاقات محددة بين الجداول. يتم استخدامها في الاستعلامات لاسترجاع البيانات من جداول متعددة مترابطة.

هذه المعلومات قد تساعدك في فهم أعمق لكيفية كتابة استعلامات SQL واستخدام الأدوات المتاحة للحصول على البيانات بشكل أكثر دقة وفعالية.

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر