"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكن لاستعلام SQL واحد استرداد مبالغ مميزة بناءً على متعددة حيث ظروف البند؟

كيف يمكن لاستعلام SQL واحد استرداد مبالغ مميزة بناءً على متعددة حيث ظروف البند؟

نشرت في 2025-01-29
تصفح:704

How Can a Single SQL Query Retrieve Distinct Sums Based on Multiple WHERE Clause Conditions?

استخدم عدة جمل لاسترداد بيانات مختلفة

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

يخزن جدول العينة "المعاملات" سجلات المعاملات المالية ، والتي تتميز بمعرفتها ومعرف الحساب ومعرف الميزانية والنقاط وأنواع المعاملات التي تم الحصول عليها. تتمثل المهمة في حساب مجموع تراكم التوزيع لكل معرف ميزانية فريد ومجموع نقاط التوزيع.

لهذا الغرض ، يمكنه بناء استعلام SQL واحد ، والذي يجمع بين الجمل الضرورية. يحقق الاستعلام التالي نتيجة المطلوبة:

حدد budget_id ، SUM (حالة عندما يكون النوع = "التخصيص" ثم يشير إلى ELSE 0) كما تم تخصيصه ، SUM (حالة عندما يكون النوع = "إصدار" ثم نقاط أخرى 0) كما تم إصدارها من المعاملات Group by Budget_id

SELECT budget_id, 
       SUM(CASE WHEN type = 'allocation' THEN points ELSE 0 END) AS allocated,
       SUM(CASE WHEN type = 'issue' THEN points ELSE 0 END) AS issued
FROM transactions
GROUP BY budget_id
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3