cognos 生成的SQL太复杂, 如何简化
截取出来的 一部分,COGNOS在什么时候会生成这样的SQL ?
SELECT
"CMRM_PROD_DIM_V"."VND_NUMERIC_DESC" AS "Group1",
"CMRM_PROD_DIM_V"."ZL_MSTSTYL_NBR" AS "Group2",
"CMRM_PROD_DIM_V"."ZL_CLASS_NBR" AS "Group3",
CASE
WHEN
'a' IN (
'b', 'c', 'd', 'e', 'f', 'g' )
THEN
"CMRM_PROD_DIM_V"."PARENT_DIV_ID"
ELSE NULL
END AS "PDIV_ID",
CASE
WHEN
'a' IN (
'e', 'i', 'l', 'm' )
THEN
"CMRM_PROD_DIM_V"."PARENT_DIV_DESC"
ELSE NULL
END AS "PDIV_Desc",
CASE
WHEN
'b' IN (
'b', 'c', 'd', 'e', 'f', 'g' )
THEN
"CMRM_PROD_DIM_V"."DIV_MAN_ID"
ELSE NULL
END AS "DIV_ID",
CASE
WHEN
'b' IN (
'e', 'i', 'l', 'm' )
THEN
"CMRM_PROD_DIM_V"."DIV_MAN_DESC"
ELSE NULL
END AS "DIV_Desc",
CASE
WHEN
'c' IN (
'b', 'c', 'd', 'e', 'f', 'g' )
THEN
"CMRM_PROD_DIM_V"."MGM_ID"
ELSE NULL
END AS "MGM_ID",
CASE
WHEN
'c' IN (
'e', 'i', 'l', 'm' )
THEN
"CMRM_PROD_DIM_V"."MGM_DESC"
ELSE NULL
END AS "MGM_Desc",
CASE
WHEN
'd' IN (
'b', 'c', 'd', 'e', 'f', 'g' )
THEN
"CMRM_PROD_DIM_V"."BUYER_ID"
ELSE NULL
END AS "Buyer_ID",
CASE
WHEN
'd' IN (
'e', 'i', 'l', 'm' )
THEN
"CMRM_PROD_DIM_V"."BUYER_DESC"
ELSE NULL
END AS "Buyer_Desc",
CASE
WHEN
'e' IN (
'b', 'c', 'd', 'e', 'f', 'g' )
THEN
"CMRM_PROD_DIM_V"."DEPT_NBR"
ELSE NULL
END AS "Dept_ID",