描述
sybase 支持别名作为查询条件
oracle 不支持别名作为查询条件
现将sybase sql 转换oracle sql 别名需要替换示例sybase-sql:
SELECT T1.STAT_CYCLE X,
CAST(ROUND(T1.DATA_VALUE, 2) AS NUMERIC(18, 2)) AS Y,
CAST(ROUND(T2.WARM_VAL_01, 2) AS NUMERIC(18, 2)) WV,
T2.MON_STS FLAG
FROM (SELECT T.STAT_CYCLE, T.DATA_VALUE
FROM DM_ID_ONEIDX_PLAN T
WHERE T.IDX_CODE = 'GH000058'--指标编码
AND T.ORG_NO = #DWBM#
AND T.STAT_CYCLE >= SUBSTR(#RQ#, 1, 4) || '01'
AND T.STAT_CYCLE <= #RQ#
AND T.STAT_CALIBRE = '01'--统计口径,01 合并口径
AND T.PERIOD = '02'--频度,02 月
AND T.SHOW_FLAG = '01' --展示标志,01表示展示
AND T.DIM_VAL_ID1 = #BM#) T1 --维度值标识1
LEFT JOIN (SELECT T.STAT_CYCLE, T.WARM_VAL_01, T.MON_STS
FROM MI_MON_REC T
WHERE T.IDX_CODE = 'GH000058'--指标编码
AND ORG_NO = #DWBM#
AND T.STAT_CYCLE >= SUBSTR(#RQ#, 1, 4) || '01'
AND T.STAT_CYCLE <= #RQ#
AND STAT_CALIBRE = '01'--统计口径,01 合并口径
AND T.DIM_VAL_ID1 = #BM# --维度值标识1
AND RULE_DESCI_TYPE = '01'--指标规则类型,单套阈值为01,多套阈值填序号
AND PERIOD = '02') T2 --频度,02 月
ON T1.STAT_CYCLE = T2.STAT_CYCLE
ORDER BY T1.STAT_CYCLE备注:1.产生别名方式:通过 as , T1.STAT_CYCLE X ,CAST(ROUND(T1.DATA_VALUE, 2) AS NUMERIC(18, 2)) AS Y 三种方式 请大家看看有什么方式转换?sybase oracle别名转换sql 别名转换oraclesybase
sybase 支持别名作为查询条件
oracle 不支持别名作为查询条件
现将sybase sql 转换oracle sql 别名需要替换示例sybase-sql:
SELECT T1.STAT_CYCLE X,
CAST(ROUND(T1.DATA_VALUE, 2) AS NUMERIC(18, 2)) AS Y,
CAST(ROUND(T2.WARM_VAL_01, 2) AS NUMERIC(18, 2)) WV,
T2.MON_STS FLAG
FROM (SELECT T.STAT_CYCLE, T.DATA_VALUE
FROM DM_ID_ONEIDX_PLAN T
WHERE T.IDX_CODE = 'GH000058'--指标编码
AND T.ORG_NO = #DWBM#
AND T.STAT_CYCLE >= SUBSTR(#RQ#, 1, 4) || '01'
AND T.STAT_CYCLE <= #RQ#
AND T.STAT_CALIBRE = '01'--统计口径,01 合并口径
AND T.PERIOD = '02'--频度,02 月
AND T.SHOW_FLAG = '01' --展示标志,01表示展示
AND T.DIM_VAL_ID1 = #BM#) T1 --维度值标识1
LEFT JOIN (SELECT T.STAT_CYCLE, T.WARM_VAL_01, T.MON_STS
FROM MI_MON_REC T
WHERE T.IDX_CODE = 'GH000058'--指标编码
AND ORG_NO = #DWBM#
AND T.STAT_CYCLE >= SUBSTR(#RQ#, 1, 4) || '01'
AND T.STAT_CYCLE <= #RQ#
AND STAT_CALIBRE = '01'--统计口径,01 合并口径
AND T.DIM_VAL_ID1 = #BM# --维度值标识1
AND RULE_DESCI_TYPE = '01'--指标规则类型,单套阈值为01,多套阈值填序号
AND PERIOD = '02') T2 --频度,02 月
ON T1.STAT_CYCLE = T2.STAT_CYCLE
ORDER BY T1.STAT_CYCLE备注:1.产生别名方式:通过 as , T1.STAT_CYCLE X ,CAST(ROUND(T1.DATA_VALUE, 2) AS NUMERIC(18, 2)) AS Y 三种方式 请大家看看有什么方式转换?sybase oracle别名转换sql 别名转换oraclesybase
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货