筛选未实现

SELECT 

    pmds008,

    pmaal004,

    to_char(pmds001, 'yyyy-mm-dd')  pmds001,

    pmdsdocno,

    pmds000,

    decode(pmds011, 1, '1:一般采购', 2, '2:委外采购')  pmds011,

    CASE 

        WHEN substr(pmdt001, 4, 5) = 'PM120' THEN '采购单-期初'

        WHEN substr(pmdt001, 4, 5) = 'PM121' THEN '采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM124' THEN '手工样采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM125' THEN '换货采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM130' THEN '委外采购单-期初'

        WHEN substr(pmdt001, 4, 5) = 'PM131' THEN '委外采购单--取核价'

        WHEN substr(pmdt001, 4, 5) = '' THEN '无'

        WHEN substr(pmdt001, 4, 5) = 'PM132' THEN '委外采购单--0单价'

        ELSE NULL

    END  lx,

    pmdtseq,

    pmdt001,

    pmdl002,

    ooag011,

    cz,

    pmdt006,

    imaal003,

    imaal004,

    pmdt009,

    oocql004,

    pmdt020,

    pmdt019,

    pmdt046,

    oodbl004,

    pmdt037,

    pmdt036,

    pmdt038,

    pmdt039,

    pmdt047,

    pmds006,

    pmdb050,

    imaa017,

    pmdl044,

    pmdp003  请购单号,

    pmda002  请购人工号,

    oofa011  请购人姓名,

    pmda003  部门编号,

    ooefl003  部门名称,

    pmdt036  单价

FROM (

    SELECT 

        a.pmds008,

        c.pmaal004,

        a.pmds001,

        a.pmdsdocno,

        a.pmds000,

        a.pmds011,

        b.pmdt001,

        b.pmdtseq,

        b.pmdt006,

        b.pmdt009,

        b.pmdt020,

        b.pmdt019,

        b.pmdt046,

        b.pmdt037,

        b.pmdt036,

        b.pmdt038,

        b.pmdt039,

        b.pmdt047,

        a.pmds006,

        pmdb050,

        d.imaa017,

        pmdl002,

        pmdl044,

        pmdp003,

        pmda002,

        oofa011,

        pmda003,

        ooefl003,

        e.oodbl004,

        f.oocql004,

        d.cz,

        imaal003,

        imaal004,

        ooag011,

        ROW_NUMBER() OVER (PARTITION BY pmdp003 ORDER BY a.pmds008, a.pmdsdocno, b.pmdt001)  rn

    FROM 

        pmds_t a

    JOIN 

        pmdt_t b

    ON 

        b.pmdtent = a.pmdsent

        AND b.pmdtsite = a.pmdssite

        AND b.pmdtdocno = a.pmdsdocno

    JOIN 

        pmaal_t c

    ON 

        pmaalent = pmdsent

        AND pmaal001 = pmds008

        AND pmaal002 = 'zh_CN'

    LEFT JOIN 

        BASIC料件001 d

    ON 

        d.ent = b.pmdtent

        AND site = '100'

        AND d.imaa001 = b.pmdt006

    LEFT JOIN 

        oodbl_t e

    ON 

        oodblent = pmdtent

        AND oodbl002 = pmdt046

        AND oodbl003 = 'zh_CN'

    LEFT JOIN 

        oocql_t f

    ON 

        f.oocqlent = pmdtent

        AND f.oocql002 = pmdt009

        AND f.oocql003 = 'zh_CN'

    LEFT JOIN 

        pmdl_t

    ON 

        pmdlent = pmdtent

        AND pmdlsite = pmdtsite

        AND pmdldocno = pmdt001

    LEFT JOIN 

        pmdp_t

    ON 

        pmdpdocno = pmdldocno

        AND pmdpent = '88'

        AND pmdpsite = '100'

        and b.pmdt006 = pmdp001

    LEFT JOIN 

        pmda_t

    ON 

        pmdp003 = pmdadocno

        AND pmdaent = '88'

        AND pmdasite = '100'

    LEFT JOIN 

        oofa_t

    ON 

        oofa003 = pmda002

        AND oofaent = '88'

        AND oofastus = 'Y'

    LEFT JOIN 

        ooefl_t

    ON 

        pmda003 = ooefl001

        AND ooeflent = '88'

        AND ooefl002 = 'zh_CN'

    LEFT JOIN 

        pmdb_t

    ON 

        pmdadocno = pmdbdocno

    and pmdp001 = pmdb004

    LEFT JOIN 

        ooag_t

    ON 

        ooagent = pmdlent

        AND ooag001 = pmdl002

    WHERE 

        pmdsent = 88

        AND pmdssite = '100'

        AND pmdsstus = 'S'

       AND pmds001 >= TO_DATE('${过账日期起}', 'yyyy-mm-dd')

       AND pmds001 <= TO_DATE('${过账日期止}', 'yyyy-mm-dd')

       AND pmdt036 BETWEEN TO_NUMBER('${单价起}') AND TO_NUMBER('${单价止}')

       

) subquery

WHERE 

    rn = 1

ORDER BY 

    pmds008, pmdsdocno, pmdt001

 decode(pmds011, 1, '1:一般采购', 2, '2:委外采购')  pmds011,

    CASE 

        WHEN substr(pmdt001, 4, 5) = 'PM120' THEN '采购单-期初'

        WHEN substr(pmdt001, 4, 5) = 'PM121' THEN '采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM124' THEN '手工样采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM125' THEN '换货采购单'

        WHEN substr(pmdt001, 4, 5) = 'PM130' THEN '委外采购单-期初'

        WHEN substr(pmdt001, 4, 5) = 'PM131' THEN '委外采购单--取核价'

        WHEN substr(pmdt001, 4, 5) = '' THEN '无'

        WHEN substr(pmdt001, 4, 5) = 'PM132' THEN '委外采购单--0单价'

        ELSE NULL

    END  lx,

为什么我表头加的这个筛选条件没实现呢

FineReport 帆软用户YiLTjoOA6q 发布于 2025-4-14 11:22
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-4-14 11:23

最后多了一个逗号!

image.png

  • 帆软用户YiLTjoOA6q 帆软用户YiLTjoOA6q(提问者) decode(pmds011, 1, '1:一般采购', 2, '2:委外采购') pmds011,

    CASE

    WHEN substr(pmdt001, 4, 5) = 'PM120' THEN '采购单-期初'

    WHEN substr(pmdt001, 4, 5) = 'PM121' THEN '采购单'

    WHEN substr(pmdt001, 4, 5) = 'PM124' THEN '手工样采购单'

    WHEN substr(pmdt001, 4, 5) = 'PM125' THEN '换货采购单'

    WHEN substr(pmdt001, 4, 5) = 'PM130' THEN '委外采购单-期初'

    WHEN substr(pmdt001, 4, 5) = 'PM131' THEN '委外采购单--取核价'

    WHEN substr(pmdt001, 4, 5) = '' THEN '无'

    WHEN substr(pmdt001, 4, 5) = 'PM132' THEN '委外采购单--0单价'

    ELSE NULL

    END lx,
    这个是我返回的语句,同时我也加到了表头的筛选条件里,但是没生效。
    2025-04-14 11:28 
  • CD20160914 CD20160914 回复 帆软用户YiLTjoOA6q(提问者) 什么意思?我是如里筛选没有实现,现在数据查询能不能出来。在plsql中,直接录入参数后,在plsql查询是否有数据?
    2025-04-14 11:28 
  • CD20160914 CD20160914 回复 帆软用户YiLTjoOA6q(提问者) 最后的lx,都不需要,只到end这里结束就行了。因为你是写在最后面排序用的。还有你是文本排序这个不一定正确,以及你的pmdt001后面的逗号呢?
    2025-04-14 12:01 
  • 帆软用户YiLTjoOA6q 帆软用户YiLTjoOA6q(提问者) 回复 CD20160914 帆软中,我的筛选字段是采购性质和采购单别,但是没有生效
    2025-04-14 13:37 
  • CD20160914 CD20160914 回复 帆软用户YiLTjoOA6q(提问者) 你的参数都没有加,怎么能够筛选呢?哪一列是采购性质,哪一列是采购单别?你的参数都没有加上
    2025-04-14 13:43 
  • 2关注人数
  • 45浏览人数
  • 最后回答于:2025-4-14 11:23
    请选择关闭问题的原因
    确定 取消
    返回顶部