参数为空选全部,商品名称这个参数应该怎么写

${if(门店=="all","

SELECT

c.fd_product_id,

sum( a.fd_quantity )销量,

count( DISTINCT a.fd_arko_order_id )订单数量,

sum( a.fd_final_amount ) 销售额,

sum( a.fd_gross_profit )毛利额 

FROM

`qyt02`.`arko_pos` a

INNER JOIN `qyt02`.`arko_dim_channel` b ON a.fd_arko_channel_id = b.fd_arko_channel_id

INNER JOIN `qyt02`.`arko_dim_product` c ON a.fd_arko_product_id = c.fd_arko_product_id 

WHERE 1=1

 if(len(商品名称)==0,'','and  c.fd_product_id in ('"+商品名称+"')')

 

AND a.fd_order_date_skid >= replace('"+开始日期+"','-','') 

AND a.fd_order_date_skid <= replace('"+结束日期+"','-','')

GROUP BY

              c.fd_product_id 

"," ")}

image.png

FineReport 梦想的初衷 发布于 2021-5-18 10:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-5-18 10:51(编辑于 2021-5-18 11:26)

${if(门店=="all","SELECTc.fd_product_id,sum( a.fd_quantity )销量,count( DISTINCT a.fd_arko_order_id )订单数量,sum( a.fd_final_amount ) 销售额,sum( a.fd_gross_profit )毛利额FROM`qyt02`.`arko_pos` aINNER JOIN `qyt02`.`arko_dim_channel` b ON a.fd_arko_channel_id = b.fd_arko_channel_idINNER JOIN `qyt02`.`arko_dim_product` c ON a.fd_arko_product_id = c.fd_arko_product_idWHERE 1=1"+if(len(商品名称)==0,""," and  c.fd_product_id in ('"+商品名称+"')")+" AND a.fd_order_date_skid >= '"+replace(开始日期,'-','') +"' AND a.fd_order_date_skid <= '"+replace(结束日期,'-','')+"' GROUP BY c.fd_product_id"," ")}

最佳回答
0
叶童鞋Lv5见习互助
发布于2021-5-18 10:48

if(len(商品名称)==0,'','and  c.fd_product_id in ('"+商品名称+"')')

改成:

${if(len(商品名称)=0,""," and c.fd_product_id in ('"+ 商品名称 +"')")}

image.png

  • 梦想的初衷 梦想的初衷(提问者) 你这个是传统的写法,我最外层已经有一个if了不能这样写
    2021-05-18 10:53 
最佳回答
0
axingLv6专家互助
发布于2021-5-18 11:02

门店放到里面来判断

SELECT

c.fd_product_id,

sum( a.fd_quantity )销量,

count( DISTINCT a.fd_arko_order_id )订单数量,

sum( a.fd_final_amount ) 销售额,

sum( a.fd_gross_profit )毛利额 

FROM

`qyt02`.`arko_pos` a

INNER JOIN `qyt02`.`arko_dim_channel` b ON a.fd_arko_channel_id = b.fd_arko_channel_id

INNER JOIN `qyt02`.`arko_dim_product` c ON a.fd_arko_product_id = c.fd_arko_product_id 

WHERE 1=1

${if(len(商品名称)==0,"","and c.fd_product_id in ('"+商品名称+"')")}

AND a.fd_order_date_skid >= replace('${开始日期}','-','') 

AND a.fd_order_date_skid <= replace('${结束日期}','-','')

${if(门店=="all"," and 1=1","and 1=0")}

GROUP BY

c.fd_product_id 

  • 4关注人数
  • 664浏览人数
  • 最后回答于:2021-5-18 11:26
    请选择关闭问题的原因
    确定 取消
    返回顶部