2015-11-18 138 views
0

嗨,我收到錯誤作爲GROUP BY和WITH BY條款可能不符合聚合功能以下查詢。Teradata聚合函數GROUP BY

SELECT 
distinct CC.CASE_ID as CASE_ID, 
/*FIRST_VALUE(CC.CASE_OWN_NM) OVER(PARTITION BY CC.CASE_ID)as FST_AGNT_CASE_OWN_NM, 
FIRST_VALUE(CC.LSTMOD_BY_AGNT_PRFL_NM) OVER(PARTITION BY CC.CASE_ID)as FST_AGNT_PRFL_NM, 
LAST_VALUE(CC.CASE_OWN_NM) OVER(PARTITION BY CC.CASE_ID) as  LST_AGNT_CASE_OWN_NM, 
LAST_VALUE(CC.LSTMOD_BY_AGNT_PRFL_NM) OVER(PARTITION BY CC.CASE_ID) as LST_AGNT_PRFL_NM,*/ 
case when CC.CASE_OWN_NM is not null then MIN(CC.REC_DTTM_PST) end as FST_AGNT_EDIT_DTTM, 
case when CC.CASE_OWN_NM is not null then MAX(CC.REC_DTTM_PST) end as LST_AGNT_EDIT_DTTM, 
case when CC.CASE_STS_CD='Open' then MIN(CC.REC_DTTM_PST) end as CASE_OPEN_DTTM, 
case when CC.CASE_STS_CD in ('Closed', 'Auto Closed') then MIN(CC.REC_DTTM_PST) end as CASE_CLSE_OR_AUTO_CLSE_DTTM 

--CC.PU_DTTM as LMI_PU_DTTM, 
--CC.CLS_DTTM as LMI_CLS_DTTM 

FROM EDW_KATAMARI_T.CNTCT_CASE CC 
INNER JOIN EDW_KATAMARI_T.CNTCT_CASE_EXTN CCE 
ON CC.CNTCT_CASE_APND_KEY = CCE.CNTCT_CASE_APND_KEY 
INNER JOIN EDW_STAGE_COMN_SRC.STG_CNTCT_CASE_DELTA DELTA 
on CC.CASE_ID = DELTA.CASE_ID 
where CC.CASE_ID='23268760' 
    group by 1,2,3,4,5 

當我只使用組1仍然它給非聚合功能必須是組的一部分。

回答

1

您需要將CASE馬上進入總:

MIN(CASE WHEN CC.CASE_OWN_NM IS NOT NULL THEN CC.REC_DTTM_PST END) AS FST_AGNT_EDIT_DTTM, 
MAX(CASE WHEN CC.CASE_OWN_NM IS NOT NULL THEN CC.REC_DTTM_PST END) AS LST_AGNT_EDIT_DTTM, 
MIN(CASE WHEN CC.CASE_STS_CD='Open' THEN CC.REC_DTTM_PST END) AS CASE_OPEN_DTTM, 
MIN(CASE WHEN CC.CASE_STS_CD IN ('Closed', 'Auto Closed') THEN CC.REC_DTTM_PST END) AS CASE_CLSE_OR_AUTO_CLSE_DTTM 

然後GROUP BY 1將工作

+0

感謝名單dnoeth我們如何能做到爲如計數聚合函數相同:計數(不同CC.CASE_OWN_NM )as \t CASE_OWN_CHGS_IN_NUM, – user3514648

+0

您可以簡單地將此計數添加到現有的查詢中... – dnoeth

相關問題