生成sql以在sql server中运行

时间:2013-06-20 08:29:55

标签: sql sql-server-2008 tsql

我有以下表格

A

ENTERPRISE_MAIN_CODE  ENTERPRISE_SUB_CODE  ENTERPRISE_DESCRIPTION
--------------------  -------------------  ----------------------
1                     0                    A
2                     0                    B
3                     0                    C
4                     0                    D
5                     0                    E
6                     0                    F
7                     0                    G
8                     0                    H
9                     0                    I

B

ID_NO  ENTERPRISE_MAIN_CODE  ENTERPRISE_SUB_CODE
-----  --------------------  -------------------
1      1                     1
2      1                     2
3      7                     1
4      4                     1
5      4                     1    
6      6                     1
7      6                     5

C

ID_NO  ENTERPRISE_ID_NO  ENTERPRISE_DATE  ENTERPRISE_AMT
-----  ----------------  ---------------  --------------
1      1                 20130109         1000
1      2                 20130315         2000
2      3                 20120120         3000
2      4                 20120305         4000
3      5                 20141111         5000
4      6                 20130115         6000
5      7                 20130320         7000

用户仅输入月份和年份:例如201303。

日期格式为yyyymmdd

输出细节:它有4个部分,如下所述:

  1. 用户应查看所选年份和月份的计数和金额(201303,即2013年3月数据)

  2. 所选年份和月份的前一年(计数和金额)(201203,即2012年3月数据)

  3. 选定年份的第一个月直至所选年份的选定月份(计数和金额)(20130101 - 20130330)

  4. 上一年的第一个月至上一个月(数量及金额)(即20120101 - 20120330)

  5. 预期输出如下:

    ENTERPRISE_DESCRIPTION  count  amt   count  amt   count  amt    count  amt
    ----------------------  -----  ----  -----  ----  -----  -----  -----  ----
    A                       1      2000  1      4000  2      3000   2      7000
    B                       0      0     0      0     0      0      0      0
    c                       0      0     0      0     0      0      0      0
    D                       1      7000  0      0     2      13000  0      0
    E                       0      0     0      0     0      0      0      0
    F                       0      0     0      0     0      0      0      0
    G                       0      0     0      0     0      0      0      0
    H                       0      0     0      0     0      0      0      0
    I                       0      0     0      0     0      0      0      0
    

1 个答案:

答案 0 :(得分:0)

我刚刚发布了这篇文章,它可能会处理您在执行此类报告时可能遇到的一些问题:

Counting records by year and month including zero counts

如果你给出更多细节,我会更具体,就像我在引用的帖子中所做的那样。