البرمجة

استعراض فئات المقالات غير المصنفة

لديك جدول Article وجدول Category وجدول ArticleToCategory في قاعدة بيانات SQL Server 2008. الهدف هو استعراض قائمة الفئات مع عدد المقالات التي لم يتم تصنيفها تحت أي فئة أخرى.

في البداية، يتعيننا تحديد الفئات التي لم يتم تصنيف أي مقال تحتها، وهذا يتطلب استخدام عملية الانضمام (JOIN) مع استخدام عملية LEFT JOIN لضمان استرداد كل الفئات حتى الفئات التي لم يتم تصنيفها بعد. بعد ذلك، سنقوم بتجميع النتائج باستخدام العملية COUNT للحصول على عدد المقالات لكل فئة.

الاستعلام سيكون على النحو التالي:

sql
SELECT C.CategoryID, C.CategoryName, COUNT(A.ArticleID) AS ArticleCount FROM Category C LEFT JOIN ArticleToCategory AC ON C.CategoryID = AC.CategoryID LEFT JOIN Article A ON AC.ArticleID = A.ArticleID WHERE AC.ArticleID IS NULL GROUP BY C.CategoryID, C.CategoryName;

هذا الاستعلام يقوم بتحديد الفئات وعدد المقالات التي لم يتم تصنيفها تحت أي فئة أخرى، ويتم ذلك من خلال الجمع بين الجدول Category والجدول ArticleToCategory والجدول Article. يستخدم الاستعلام LEFT JOIN لضمان استرداد كل الفئات حتى الفئات التي لم يتم تصنيفها بعد. ثم يتم تجميع النتائج باستخدام العملية COUNT لحساب عدد المقالات لكل فئة.

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

بالطبع، يمكننا توسيع المعلومات المذكورة بشكل أكبر لفهم أكثر عن الاستعلام وكيفية عمله والمعلومات التي يقدمها.

  1. استخراج البيانات من الجداول:

    • Category (الفئة): يحتوي على معلومات الفئات مثل اسم الفئة ومعرف الفئة.
    • Article (المقال): يحتوي على معلومات المقالات مثل عنوان المقال ومعرف المقال.
    • ArticleToCategory (العلاقة بين المقال والفئة): جدول وسيط يربط المقالات بالفئات التي تنتمي إليها، ويحتوي على معرفات المقال والفئة.
  2. استخدام LEFT JOIN:

    • تستخدم LEFT JOIN لضمان عرض جميع الفئات بغض النظر عما إذا كان لديها مقالات متصلة بها أو لا. هذا يسمح بعرض الفئات التي لم يتم تصنيف أي مقال تحتها.
    • عندما لا تكون هناك مقابلة في جدول ArticleToCategory، يتم تعيين القيمة NULL للحقول المتعلقة بالفئة والمقال في الاستعلام.
  3. استخدام الدالة COUNT:

    • تستخدم COUNT لحساب عدد المقالات التي تنتمي إلى كل فئة.
    • بسبب استخدام LEFT JOIN، قد تحصل على قيمة NULL لمعرفات المقال عندما لا تكون هناك مقابلات في الجدول ArticleToCategory. يعتبر COUNT تلك القيم NULL بشكل منفصل ولا يعتبرها في العد.
  4. GROUP BY:

    • يتم استخدام GROUP BY لتجميع النتائج حسب معرف الفئة واسم الفئة.
    • هذا يضمن أن يتم حساب عدد المقالات لكل فئة بشكل منفصل.
  5. النتيجة:

    • النتيجة النهائية للاستعلام تتضمن معرف واسم الفئة مع عدد المقالات التي لم يتم تصنيفها تحت أي فئة أخرى.

باستخدام هذا الاستعلام، يمكنك الحصول على قائمة بالفئات التي لم يتم تصنيف أي مقال تحتها، وعدد المقالات التي تنطبق عليها.

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

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

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

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