2011-10-06 38 views
0
SELECT datecreated, 
     totcount 
FROM (SELECT REPLACE(RIGHT(CONVERT(VARCHAR(9), tof.create_stamp, 6), 6), ' ', ' ') AS datecreated, 
       COUNT(DISTINCT tof.unique_id)           AS totcount 
     FROM trn_open_files tof 
       JOIN trn_debtor tb 
       ON (tof.unique_id = tb.unique_id 
        AND tb.debtor_seq_num = 1 
        AND tb.rec_status = 'R') 
       JOIN trn_property tp 
       ON (tof.unique_id = tp.unique_id) 
       LEFT OUTER JOIN trn_parties prty_cccs 
       ON (prty_cccs.unique_id = tof.unique_id 
        AND prty_cccs.party_role = 'CCCS' 
        AND prty_cccs.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_srv 
       ON (prty_srv.unique_id = tof.unique_id 
        AND prty_srv.party_role = 'SRV' 
        AND prty_srv.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_vend 
       ON (prty_vend.unique_id = tof.unique_id 
        AND prty_vend.party_role = 'CLMO' 
        AND prty_vend.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_ins 
       ON (prty_ins.unique_id = tof.unique_id 
        AND prty_ins.party_role = 'INS' 
        AND prty_ins.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_ss 
       ON (prty_ss.unique_id = tof.unique_id 
        AND prty_ss.party_role = 'SS' 
        AND prty_ss.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_realtor 
       ON (prty_realtor.unique_id = tof.unique_id 
        AND prty_realtor.party_role = 'REALTOR' 
        AND prty_realtor.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci1 
       ON (mci1.comp_id = prty_cccs.party_comp_id 
        AND mci1.comp_type = 'CCCS' 
        AND mci1.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci 
       ON (mci.comp_id = prty_srv.party_comp_id 
        AND mci.comp_type = 'SRV' 
        AND mci.rec_status = 'A' 
        AND mci.pilot_flag = 'Y') 
       LEFT OUTER JOIN mst_comp_info mci2 
       ON (mci2.comp_id = prty_vend.party_comp_id 
        AND mci2.comp_type = 'VEND' 
        AND mci2.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci3 
       ON (mci3.comp_id = prty_ins.party_comp_id 
        AND mci3.comp_type = 'INS' 
        AND mci3.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci4 
       ON (mci4.comp_id = prty_ss.party_comp_id 
        AND mci4.comp_type = 'SS' 
        AND mci4.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci5 
       ON (mci5.comp_id = prty_realtor.party_comp_id 
        AND mci4.comp_type = 'REALTOR' 
        AND mci4.rec_status = 'A') 
       LEFT OUTER JOIN mst_status_codes i 
       ON (i.status_code = tof.case_status 
        AND i.comp_id = tof.comp_id 
        AND (i.party_role IS NULL 
          OR i.party_role = 'VEND') 
        AND tof.file_type = i.file_type) 
     WHERE tof.cur_status = 'A' 
       AND tof.cms_flag = 'Y' 
       AND CONVERT(DATE, tof.create_stamp) >= CONVERT(DATE, '2010-06-06') 
       AND CONVERT(DATE, tof.create_stamp) <= CONVERT(DATE, '2011-10-01') 
       AND prty_cccs.party_comp_id = 10153 
       AND prty_cccs.party_comp_id = 10153 
     GROUP BY REPLACE(RIGHT(CONVERT(VARCHAR(9), tof.create_stamp, 6), 6), ' ', ' '), 
       prty_cccs.party_comp_id) q1 

有这个过程如何以正确的顺序显示月份。使用sql过程的顺序月的值

现在一个月出现

出来放:dateCreated会totcount

Sep 11 7 
May 11 2 
Jun 11 10 
Jul 11 40 
Aug 11 144 

我想一个月的序列,例如dateCreated会totcount

May 11 2 
Jun 11 10 
Jul 11 40 
Aug 11 144 
Sep 11 7 

回答

0

没有测试,但我认为你应该更换REPLACE(RIGHT(CONVERT(VARCHAR(9), tof.create_stamp, 6), 6), ' ', ' ')dateadd(month, datediff(month, 0, tof.create_stamp), 0)并在外部查询中执行演示文稿。并通过外部查询ORDER BY q1.datecreated添加订单。

SELECT REPLACE(RIGHT(CONVERT(VARCHAR(9), datecreated, 6), 6), ' ', ' '), 
     totcount 
FROM (SELECT Dateadd(MONTH, Datediff(MONTH, 0, tof.create_stamp), 0) AS datecreated, 
       COUNT(DISTINCT tof.unique_id)       AS totcount 
     FROM trn_open_files tof 
       JOIN trn_debtor tb 
       ON (tof.unique_id = tb.unique_id 
         AND tb.debtor_seq_num = 1 
         AND tb.rec_status = 'R') 
       JOIN trn_property tp 
       ON (tof.unique_id = tp.unique_id) 
       LEFT OUTER JOIN trn_parties prty_cccs 
       ON (prty_cccs.unique_id = tof.unique_id 
         AND prty_cccs.party_role = 'CCCS' 
         AND prty_cccs.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_srv 
       ON (prty_srv.unique_id = tof.unique_id 
         AND prty_srv.party_role = 'SRV' 
         AND prty_srv.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_vend 
       ON (prty_vend.unique_id = tof.unique_id 
         AND prty_vend.party_role = 'CLMO' 
         AND prty_vend.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_ins 
       ON (prty_ins.unique_id = tof.unique_id 
         AND prty_ins.party_role = 'INS' 
         AND prty_ins.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_ss 
       ON (prty_ss.unique_id = tof.unique_id 
         AND prty_ss.party_role = 'SS' 
         AND prty_ss.rec_status = 'A') 
       LEFT OUTER JOIN trn_parties prty_realtor 
       ON (prty_realtor.unique_id = tof.unique_id 
         AND prty_realtor.party_role = 'REALTOR' 
         AND prty_realtor.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci1 
       ON (mci1.comp_id = prty_cccs.party_comp_id 
         AND mci1.comp_type = 'CCCS' 
         AND mci1.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci 
       ON (mci.comp_id = prty_srv.party_comp_id 
         AND mci.comp_type = 'SRV' 
         AND mci.rec_status = 'A' 
         AND mci.pilot_flag = 'Y') 
       LEFT OUTER JOIN mst_comp_info mci2 
       ON (mci2.comp_id = prty_vend.party_comp_id 
         AND mci2.comp_type = 'VEND' 
         AND mci2.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci3 
       ON (mci3.comp_id = prty_ins.party_comp_id 
         AND mci3.comp_type = 'INS' 
         AND mci3.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci4 
       ON (mci4.comp_id = prty_ss.party_comp_id 
         AND mci4.comp_type = 'SS' 
         AND mci4.rec_status = 'A') 
       LEFT OUTER JOIN mst_comp_info mci5 
       ON (mci5.comp_id = prty_realtor.party_comp_id 
         AND mci4.comp_type = 'REALTOR' 
         AND mci4.rec_status = 'A') 
       LEFT OUTER JOIN mst_status_codes i 
       ON (i.status_code = tof.case_status 
         AND i.comp_id = tof.comp_id 
         AND (i.party_role IS NULL 
          OR i.party_role = 'VEND') 
         AND tof.file_type = i.file_type) 
     WHERE tof.cur_status = 'A' 
       AND tof.cms_flag = 'Y' 
       AND CONVERT(DATE, tof.create_stamp) >= CONVERT(DATE, '2010-06-06') 
       AND CONVERT(DATE, tof.create_stamp) <= CONVERT(DATE, '2011-10-01') 
       AND prty_cccs.party_comp_id = 10153 
       AND prty_cccs.party_comp_id = 10153 
     GROUP BY Dateadd(MONTH, Datediff(MONTH, 0, tof.create_stamp), 0), 
        prty_cccs.party_comp_id) q1 
ORDER BY q1.datecreated