oracle查询 min,有个视图里面有个子查询MIN(DATE) 该如何优化呢?

本文探讨了如何将特定条件融入CREATE OR REPLACE VIEW VR_MC_MIN_DATE中,遇到的问题在于无法将SERIES_NUMBER为':1'的子查询包含在内。作者关注于处理大型交易流水表MC_TRANS的数据,以提高视图查询效率。
摘要由CSDN通过智能技术生成

CREATE OR REPLACE VIEW VR_MC_MIN_DATE AS

SELECT

S.COP_NAME                                   AS COP_NAME,

S.SERIES_NUMBER                           AS SERIES_NUMBER,

S.SERIES_STATE                             AS SERIES_STATE,

S.VENDOR_NAME                             AS VENDOR_NAME,

S.WAREHOUSE_NAME                          AS WAREHOUSE_NAME,

S.STORE_STATE                             AS STORE_STATE,

S.STOCKIN_ORDERID                         AS STOCKIN_ORDERID,

S.STOCKIN_DATE                            AS STOCKIN_DATE,

S.CONTROL_LOCK                            AS CONTROL_LOCK,

DECODE(IS_SHOW, 1, '是', '否')            AS ppt_machine,

(CASE  WHEN SERVICE_GODDS_STATE IS NULL THEN '否' ELSE '是'END) AS sale_after_machine,

G.GOODS_ID                                AS GOODS_ID,

G.GOODS_NAME                              AS GOODS_NAME,

G.GOODS_CLASS_NAME                        AS GOODS_CLASS_NAME,

G.CONFIG_INFO                             AS CONFIG_INFO,

G.GOODS_STANDARD                          AS GOODS_STANDARD,

G.MODEL_NAME                              AS MODEL_NAME,

G.BRAND_NAME                              AS BRAND_NAME,

G.GOODS_TYPE                              AS GOODS_TYPE,

A.AREA_NAME                               AS AREA_NAME,

T.MIN_SHOP_DATE                            AS IN_SHOP_DATE,

D.CAPTION                                 AS CAPTION

FROM MC_STORE.MC_SERIES S

LEFT JOIN GOODS_MASTER G    ON S.GOODS_ID = G.GOODS_ID

LEFT JOIN HR_COMPANY C         ON S.COP_ID = C.COP_ID

LEFT JOIN HR_AREA  A        ON C.AREA_ID=A.AREA_ID

INNER JOIN (SELECT SHOP_ID,SERIES_NUMBER, MIN(TRANS_DATE) AS MIN_SHOP_DATE FROM MC_TRANS WHERE INOUT = 1 GROUP BY SHOP_ID,SERIES_NUMBER) T

ON T.SHOP_ID = S.SHOP_ID AND T.SERIES_NUMBER=S.SERIES_NUMBER

LEFT JOIN (SELECT KEY, CAPTION

FROM MC_DICTIONARY

WHERE PARENT_DICT_ID IS NOT NULL

START WITH PARENT_DICT_ID IS NULL   AND DICT_ID = 'ZD0190'

CONNECT BY PRIOR DICT_ID = PARENT_DICT_ID

) D    ON S.STORE_STATE = D.KEY

WITH READ ONLY;

select * from VR_MC_MIN_DATE where SERIES_NUMBER=:1

这样的 条件 无法推进到 视图中的子查询.

该视图中的子查询是获取该号的入店的时间.

MC_TRANS 是某种交易流水表, 很显然该表会越来越大.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值