问题:只是在finereport上添加一个起止时间的控件,添加sql语句之后变成了这样!!!

微信图片_20210714143354.png

select * from (select

            a.id,a.lot_no,a.checklist_biz_type,lot.subcmpt_qty,w.wo_code,w.product_name,a.template_id,a.plannode_id,

            node.nodeobj_name nodeobj_name,node.node_seq,par.node_seq as par_seq,par.nodeobj_name stage_name

        from

            EDC_TRANSFER_CHECKLIST a

            left join mp_wip_lot lot

    on a.lot_no = lot.lot_no

    LEFT JOIN mp_wom_workorder w

    on lot.wo_id=w.id and a.wo_id = w.id 

    left join mc_prp_plannode node 

    on a.plannode_id = node.id

    left join mc_prp_plannode par

    on node.parnode_id = par.id

    

        where-- a.lot_no='D21041701' --and

           (a.LOT_NO = '' or '' is null)

     and  (w.product_name like '%%' or '' is null)

        and  (node.nodeobj_name like '%%' or '' is null)

           and  (par.nodeobj_name like '%%' or '' is null)

        and a.biz_status = 'Y'

        and a.checklist_biz_type = 'EDC'

        and

            a.DEL_FLAG = '0' and lot.del_flag='0' and w.del_flag='0'

     ) aa

            left join 

            (SELECT

            a.biz_status,

            b.POSITION_NO,

            b.COMPONENT_SN,

            b.line_type,

            b.item_name,

            b.item_val,

            b.sample_cnt cnt,

            b.id as checkItemId,

            b.checklist_id

        FROM

          edc_transfer_checklist_item b

        left JOIN

            edc_transfer_checklist a

        on

            a.ID = b.CHECKLIST_ID

        WHERE

  

            b.LINE_TYPE = 'Data'

        AND

            b.del_flag = '0'

 )bb

            on aa.id=bb.checklist_id

            left join 

            (   select

            a.val_unit,

            a.template_id as temp_id,

            a.item_name,

            a.sample_size,

            a.sample_cnt,

            a.test_standard,

            CASE a.val_type

      WHEN 'NUM' THEN 

       concat(concat(concat(concat(b.MIN_VAL, '<'), 'X'), '<='),

                      b.MAX_VAL)

      WHEN 'NMD' THEN 

       concat(concat(b.middle_val, '±'), b.delta_val)

               ELSE '' END   

          as val    

        from

            edc_check_template_item a

        left join

            edc_check_item_val b

        on

            a.id = b.template_item_id

        where

            a.del_flag='0'   and

            b.del_flag = '0'

           )cc

            on aa.template_id=cc.temp_id and bb.item_name=cc.item_name 

            where bb.biz_status is not null

                order by aa.lot_no,aa.wo_code,to_number(aa.par_seq),aa.stage_name,to_number(aa.node_seq),aa.nodeobj_name,aa.template_id,to_number(bb.POSITION_NO),

            bb.COMPONENT_SN,cc.item_name,to_number(bb.cnt),bb.item_val

             and ('2021-07-14' is null or

    a.collect_date >= to_date('2021-07-14', 'yyyy-mm-dd'))    

and ('2021-07-14' is null or

   a.collect_date <= to_date('2021-07-14', 'yyyy-mm-dd'))

FineReport 用户jCyKP3388328 发布于 2021-7-14 14:35 (编辑于 2021-7-14 14:45)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-7-14 14:43(编辑于 2021-7-14 14:50)

SQL 呢?

image.png

ORDER BY 里面咋还有判断.......

  • 用户jCyKP3388328 用户jCyKP3388328(提问者) select * from (select a.id,a.lot_no,a.checklist_biz_type,lot.subcmpt_qty,w.wo_code,w.product_name,a.template_id,a.plannode_id, node.nodeobj_name nodeobj_name,node.node_seq,par.node_seq as par_seq,par.nodeobj_name stage_name from EDC_TRANSFER_CHECKLIST a left join mp_wip_lot lot on a.lot_no = lot.lot_no LEFT JOIN mp_wom_workorder w on lot.wo_id=w.id and a.wo_id = w.id left join mc_prp_plannode node on a.plannode_id = node.id left join mc_prp_plannode par on node.parnode_id = par.id where-- a.lot_no=\'D21041701\' --and (a.LOT_NO = \'\' or \'\' is null) and (w.product_name like \'%%\' or \'\' is null) and (node.nodeobj_name like \'%%\' or \'\' is null) and (par.nodeobj_name like \'%%\' or \'\' is null) and a.biz_status = \'Y\' and a.checklist_biz_type = \'EDC\' and a.DEL_FLAG = \'0\' and lot.del_flag=\'0\' and w.del_flag=\'0\' ) aa left join (SELECT a.biz_status, b.POSITION_NO, b.COMPONENT_SN, b.line_type, b.item_name, b.item_val, b.sample_cnt cnt, b.id as checkItemId, b.checklist_id FROM edc_transfer_checklist_item b left JOIN edc_transfer_checklist a on a.ID = b.CHECKLIST_ID WHERE b.LINE_TYPE = \'Data\' AND b.del_flag = \'0\' )bb on aa.id=bb.checklist_id left join ( select a.val_unit, a.template_id as temp_id, a.item_name, a.sample_size, a.sample_cnt, a.test_standard, CASE a.val_type WHEN \'NUM\' THEN concat(concat(concat(concat(b.MIN_VAL, \'<\'), \'X\'), \'<=\'), b.MAX_VAL) WHEN \'NMD\' THEN concat(concat(b.middle_val, \'±\'), b.delta_val) ELSE \'\' END as val from edc_check_template_item a left join edc_check_item_val b on a.id = b.template_item_id where a.del_flag=\'0\' and b.del_flag = \'0\' )cc on aa.template_id=cc.temp_id and bb.item_name=cc.item_name where bb.biz_status is not null order by aa.lot_no,aa.wo_code,to_number(aa.par_seq),aa.stage_name,to_number(aa.node_seq),aa.nodeobj_name,aa.template_id,to_number(bb.POSITION_NO), bb.COMPONENT_SN,cc.item_name,to_number(bb.cnt),bb.item_val and (\'2021-07-14\' is null or a.collect_date >= to_date(\'2021-07-14\', \'yyyy-mm-dd\')) and (\'2021-07-14\' is null or a.collect_date <= to_date(\'2021-07-14\', \'yyyy-mm-dd\'))
    2021-07-14 14:45 
  • 用户jCyKP3388328 用户jCyKP3388328(提问者) 具体这个日期sql 我也不知道插在哪里合适
    2021-07-14 14:52 
  • Z4u3z1 Z4u3z1 回复 用户jCyKP3388328(提问者) 放在where之后不是order 之后,具体是那个where 取决于你的业务逻辑
    2021-07-14 14:56 
  • 用户jCyKP3388328 用户jCyKP3388328(提问者) 我放在where之后还是有问题
    2021-07-14 14:56 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-7-14 14:39

控件类型和数据库时间类型一致才行

  • 2关注人数
  • 347浏览人数
  • 最后回答于:2021-7-14 14:50
    请选择关闭问题的原因
    确定 取消
    返回顶部