一个省区的数据占一行,现在这样怎么解决

image.png

这是数据集里的sql语句

select 

h.CUSTOMER_PO_NUMBER as 客户PO,

h.ORDER_NUMBER as 生产编号,

ooot.ORDER_TYPE_NAME as 订单类型,

v.ACCOUNT_SHORT_NAME as 客户简称,

atts.suit_count as 套数,

h.order_status as 订单状态,

h.order_progress as 订单进展,

h.creation_date as 订单创建日期,

h.BOOKED_DATE as 订单受理日期,

h.complete_date as 订单完工日期,

tv.meaning2 as 省区

from

APPS.OMS_OE_ORDER_HEADERS h,

APPS.OMS_OE_ORDER_TYPES ooot,

apps.cux_om_order_headers_v v,

APPS.OMS_OE_ORDER_HEADER_ATTS atts,

apps.mdm_cust_territory_solutions_v tv

where 1=1

${if(len(订单类型)==0,"","and ooot.ORDER_TYPE_NAME='"+订单类型+"'")}

${if(len(订单编号)==0,"","and h.ORDER_NUMBER='"+订单编号+"'")}

${if(len(po)==0,"","and h.CUSTOMER_PO_NUMBER='"+po+"'")}

${if(len(客户简称)==0,"","and v.ACCOUNT_SHORT_NAME='"+客户简称+"'")}

${if(len(sq)==0,"","and tv.meaning2 in ('"+sq+"')")}

and v.order_type_id=ooot.order_type_id and ooot.order_type_id=h.order_type_id

and h.header_id=atts.header_id and atts.header_id=v.header_id

group by

h.CUSTOMER_PO_NUMBER ,

h.ORDER_NUMBER ,

ooot.ORDER_TYPE_NAME ,

v.ACCOUNT_SHORT_NAME,

atts.suit_count,

h.order_status,

h.order_progress,

h.creation_date,

h.BOOKED_DATE,

h.complete_date,

tv.meaning2

image.png

FineReport 艾琳c 发布于 2022-5-17 14:03 (编辑于 2022-5-17 14:26)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
CD20160914Lv8专家互助
发布于2022-5-17 14:04(编辑于 2022-5-17 14:07)

为什么你的一个订单可以在多个省区出现??你的关联数据有问题吧。。

你的表:apps.mdm_cust_territory_solutions_v tv  都没有写上关联条件呀。。。你仔细检查看。。

image.png

没有用到简写为tv的表。。。你要把关联条件写在这里。增加上

  • 艾琳c 艾琳c(提问者) 好,我去看看
    2022-05-17 14:18 
  • 艾琳c 艾琳c(提问者) 需要关键的字段太多了,可以直接用using(关联字段)吗
    2022-05-17 14:25 
  • CD20160914 CD20160914 回复 艾琳c(提问者) 你直接试呀。为什么一个省关联过去。还很复杂?那是你们业务设置的原因。反正你现在的语句加上了省区表。没有关联条件。它出来后就是笛卡尔积了。假如你的省区表有10行数据。那么每一行数据会重复10次。
    2022-05-17 14:28 
最佳回答
0
Z~/Lv6初级互助
发布于2022-5-17 14:06

感觉是父格的问题,检查一下父格, 简单点,就用条件显示,把空行隐藏掉。

最佳回答
0
小六Lv4见习互助
发布于2022-5-17 14:21

预览数据集显示没有问题的情况下,检查报表单元格的父子格设置

  • 艾琳c 艾琳c(提问者) 数据集预览的多选框怎么填
    2022-05-17 14:26 
  • 小六 小六 回复 艾琳c(提问者) 公式1:${if(len(订单ID)==0,\"\",\"AND 订单ID IN(\'\"+订单ID+\"\')\")} 入参1:10001\',\'10002 +++++++++++++++++++++++++++++++++++++++++++++ 公式2:${if(len(订单ID) == 0,\"\",\"and 订单ID in (\'\" + replace(订单ID,\",\",\"\',\'\") + \"\')\")} 入参2:10001,10002
    2022-05-18 09:28 
  • 4关注人数
  • 348浏览人数
  • 最后回答于:2022-5-17 14:26
    请选择关闭问题的原因
    确定 取消
    返回顶部