في 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