簡體   English   中英

SQL中總和的所有可能列組合

[英]All possible combinations of columns with sum in SQL

我想生成具有多個組條件的報表,並且需要顯示我的表格的所有可能組合以及任一列的總和

這是我的表結構

Company Budget  Account Benificiary Objevctive  Spare1  Spare2  Amount
C1        B1     A1       BA1          OB1         0     0       200
C1        B2     A1       BA2          OB2         0     0       300
C2        B1     A2       BA2          OB2        S1     S1      400
C1        B1     A1       BA1          OB1         0     0       400

這是必需的輸出,該輸出具有7列的所有可能組合,並基於組合在最后一列中加和

Company Budget  Account Benificiary Objevctive  Spare1   Spare2     Amount
    C1        B1      A1       BA1           OB1       0       0     600
    C1        B1      A1       BA1           OB1       0       S1    0
    C1        B1      A1       BA1           OB1       S1       0    0
    C1        B1      A1       BA1           OB1       S1      S1    0
    C1        B1      A1       BA1           OB2       0       0     0
    C1        B1      A1       BA1           OB2       0       S1    0
    C1        B1      A1       BA1           OB2       S1      0     0
    C1        B1      A1       BA1           OB2       S1      S1    0
    C1        B1      A1       BA2           OB1       0       0     0

我無法生成查詢,將給出上述輸出

我可以使用以下查詢實現以上輸出

SELECT B.BENEFICIARY,
       B.BUDGETHOLDER,
       B.CITY,
       B.FIELDNAME,
       B.OBJECTIVE,
       SUM(B.value)
FROM (
    SELECT DISTINCT A.BENEFICIARY,
                    A.BUDGETHOLDER,
                    A.CITY,
                    A.FIELDNAME,
                    A.OBJECTIVE,
                    A.value
    FROM (
        SELECT t.BENEFICIARY,
               t.BUDGETHOLDER,
               t.CITY,
               t.FIELDNAME,
               t.OBJECTIVE,
               t.value value
        FROM #temp T, #temp TT
    ) A
    LEFT JOIN #temp T1 ON A.BENEFICIARY = t1.BENEFICIARY
        AND A.BUDGETHOLDER = t1.BUDGETHOLDER
        AND A.CITY = t1.CITY
        AND A.OBJECTIVE = t1.OBJECTIVE
) B
GROUP BY B.BENEFICIARY,
         B.BUDGETHOLDER,
         B.CITY,
         B.OBJECTIVE,
         B.FIELDNAME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM