Hi everyone
I need help. Can anyone suggest me how to do group by on calculated column.
In the output now I see service,call two columns, I need to group by service. can you please suggest. Below is the code.
SELECT * from (SELECT CASE WHEN ISNULL(ace.SVC_FACL_ID, '') = '' THEN ss.SC_FACL_ID ELSE ace.SVC_FACL_ID END AS SERVICE, CONVERT(int, ac.SC_ID) AS CALL FROM ( SELECT SC_ID, SC_DT, ARCH_DATE, PROB1_CD --, SC_A_SVC_TRK_D_ID FROM D2K.stg_ERS_HIST_ARCH_CALL hc WHERE STATUS_CD = 'CL' AND hc.Meta_Curr_Ind = 'Y' AND hc.COMM_CTR_ID = '111' AND hc.SC_STS_RSN_CD <> 'XX' and SC_ID < 200000 ) as ac INNER JOIN ( (SELECT hs.SC_ID, hs.SC_DT, SC_FACL_ID FROM D2K.stg_ERS_HIST_SC_STATUS hs INNER JOIN D2K.t_stg_Fact_ServiceCall_ClearCount cc on cc.SC_DT = hs.SC_DT and cc.SC_ID = hs.SC_ID and cc.SC_STS_TM = hs.SC_STS_TM and hs.SC_STS_UPD_CD = 'CL' WHERE hs.Meta_Curr_Ind = 'Y' AND hs.COMM_CTR_ID = '111' ) UNION ( SELECT CallNumber as SC_ID, CallDate AS SC_DT, RIGHT('000' + LEFT(ss.Contractor,4), 5) as SC_FACL_ID FROM ERS.stg_STERLING_SURVEY SS left join D2K.stg_ERS_HIST_ARCH_CALL ac ON SS.CallNumber = aC.SC_ID AND SS.CallDate = aC.SC_DT WHERE CallNumber < 200000 AND ac.SC_STS_RSN_CD = 'XX' AND ss.Meta_Curr_Ind = 'Y' and ac.Meta_Curr_Ind = 'Y' AND Load_Date >= (SELECT dateadd(d, -7, Meta_Trans_Typ_Date) FROM SSIS.Meta.D2K_Delta_Trans_Date WHERE Table_Name = 'stg_ERS_HIST_ARCH_CALL') ) ) as ss ON ss.SC_ID = ac.SC_ID AND ss.SC_DT = ac.SC_DT LEFT JOIN (SELECT extd.SC_ID, extd.SC_DT, rp.ARCH_DATE, SVC_FACL_ID FROM D2K.stg_ERS_HIST_ARCH_CALL_EXTD extd left join ( select ORG_SC_DT, ORG_SC_ID, MIN(DUP_SC_DT) DUP_SC_DT, MIN(DUP_SC_ID) DUP_SC_ID from D2K.stg_ERS_HIST_DUP_CALL_LST where DUP_SC_ID between 600000 and 699999 group by ORG_SC_DT, ORG_SC_ID ) dup on extd.SC_ID = dup.ORG_SC_ID and extd.SC_DT = dup.ORG_SC_DT Left JOIN ( select SC_DT, SC_ID, min(ARCH_DATE) ARCH_DATE from D2K.stg_ERS_HIST_ARCH_CALL where Meta_Curr_Ind = 'Y' group by SC_DT, SC_ID) as rp on rp.SC_ID = dup.DUP_SC_ID AND rp.SC_DT = dup.DUP_SC_DT WHERE extd.COMM_CTR_ID = '111' AND extd.Meta_Curr_Ind = 'Y' and extd.SC_ID < 200000 ) as ace ON ac.SC_ID = ace.SC_ID AND ac.SC_DT = ace.SC_DT where ac.[ARCH_DATE] between '20140601' and '20140630' and ac.PROB1_CD IN ('3','3B','3R'))B WHERE B.SERVICE in(00222,03222,00444,00777,03444,00333,03433)