oracle 11g 版本出现的字段查询诡异问题及解决办法

先贴上查询语句

WITH resultTable AS (
SELECT b.STAND_CFG_PRI_ID,
b.PRODFAM_ID,
b.PRODFAM_CODE,
b.PRODUCT_LINE_ID,
b.PRICE_LOOUP_TYPE,
b.PRICE_LOOUP_CODE,
b.STAND_CFG_CONST,
b.SALES_CHANNEL_TYPE,
b.SALES_CHANNEL_CODE,
b.PRICE,
b.MATER_COST_PRICE,
b.PRODU_COST_PRICE,
b.UNITS,
b.CURRENCY,
b.CREATE_BY,
b.ENABLE_FLAG,
b.REGISTER_ID,
TO_CHAR(b.CREATE_DATE,'YYYY-MM-DD') AS CREATE_DATE,
b.LAST_UPDATE_BY,
TO_CHAR(b.LAST_UPDATE_DATE,'YYYY-MM-DD') AS LAST_UPDATE_DATE,
[color=red]scp.ekp_order_type[/color]
FROM ECC_OC.STAND_CFG_COST_PRICE_V b,
ECC_OC.STAND_CFG_PRICE scp
WHERE b.ENABLE_FLAG ='T'
AND scp.STAND_CFG_PRI_ID = b.STAND_CFG_PRI_ID
AND b.PROD_LINE_CODE ='PL_DZB'
AND b.PRICE_LOOUP_CODE ='CONFIG_SALES_PRICE_CODE'
ORDER BY b.CREATE_DATE
)
SELECT result.* FROM
( SELECT * FROM
( SELECT resultTable.*,viewTable.*,ROWNUM AS resultNums FROM resultTable , (SELECT Count(1) AS resultCount FROM resultTable) viewTable
)
) result

整个查询中,只有那个红色的字段有问题,原因很可能是 ECC_OC.STAND_CFG_COST_PRICE_V b 这个视图,本来就包含了ECC_OC.STAND_CFG_PRICE scp里面的某些字段,然后再复杂的查询下,11g bug了。。
解决方法是:把optimizer_features_enable设成10g。 语句如下:
alter system set optimizer_features_enable = "10.1.0.5" scope=both;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值