Quantcast
Channel: Transact-SQL forum
Viewing all articles
Browse latest Browse all 23857

Group by calculated field

$
0
0

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)

 


Viewing all articles
Browse latest Browse all 23857

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>