قم بإجراء وظيفة SQL على عمود واحد بناءً على مفاتيح أجنبية متعددة

StackOverflow https://stackoverflow.com/questions/19826766

سؤال

واجهت هذه المشكلة عند محاولة تحديد تصميم قاعدة بيانات الأبعاد. في الأساس ، أنا أحظى جدول حقائق (SALE_FACT) الذي يحتوي على مفتاح بديل ، والعديد من المفاتيح الأجنبية (PID لمعرف المنتج ، CID لمعرف البلد والتاريخ) ، وبيانات المبيعات. الحبيبية أو جدول الحقيقة هذا على أساس يومي. كيف أقوم بتلخيص بيانات المبيعات لأسابيع (أو أشهر) ، اعتمادًا على مجموعات مختلفة من تلك المفاتيح الأجنبية؟ على سبيل المثال ، أريد تلخيص بيانات مبيعات المنتج 1 في البلد 1 في هذا الأسبوع (PID = 1 و CID = 1 والتاريخ = الاثنين) ، وبيانات مبيعات المنتج 2 في البلد 2 في نفس الأسبوع (PID = 2 و CID = 2 والتاريخ = الاثنين). كيف يمكنني تحقيق هذه البيانات في SQL واحد؟ ستكون مجموعة نتائج العينة مثل:

    | id | pid | cid |     date     | total |
    | 1  |  1  |  1  |  2013-11-04  |   100 |
    | 2  |  1  |  2  |  2013-11-04  |  90   |
    | 3  |  1  |  3  |  2013-11-04  |  80   |
    | 4  |  2  |  1  |  2013-11-04  |  91   |

......more data
هل كانت مفيدة؟

المحلول

لماذا لا تستخدم شيئًا مثل Select Sum (Sales) كـ "إجمالي" من الجدول حيث Date = Monday Groupby PID ، CID ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top