SQL错误

SELECT 

  PRODUCE_AGING_DESC,--库龄区间

  PRODUCE_AGING_NUM,

  CASE WHEN F.MATERIAL_CLASS_L1_NAME IN( '浆','花') THEN SUM(CVT_INV_NM)/10000 ELSE SUM(CVT_INV_NM)/1000 END AS  CVT_ONHAND --库存量

FROM ADS_EBS_INV_HQTY_DETAIL F

WHERE IF('${ty}'='粉',F.MATERIAL_CLASS_L2_NAME = '粉',F.MATERIAL_CLASS_L1_NAME = '${ty}')

  AND F.INV_CLASS_01_NAME = '成品库'

  AND ( F.OU_ID = 102 OR F.OU_ID = 127 )

  AND F.YM_ID = '${P_S_DATE}'

GROUP BY F.PRODUCE_AGING_DESC, F.PRODUCE_AGING_NUM,F.MATERIAL_CLASS_L1_NAME

ORDER BY F.PRODUCE_AGING_NUM

大佬们可以帮忙看一下这个SQL哪里有问题吗?预览的时候显示缺少括号,但我对的没少呀

image.png

FineReport 嘘.. 发布于 2024-8-27 11:07 (编辑于 2024-8-27 11:23)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2024-8-27 11:09(编辑于 2024-8-27 11:31)

SELECT 

  PRODUCE_AGING_DESC,--库龄区间

  PRODUCE_AGING_NUM,

  CASE WHEN F.MATERIAL_CLASS_L1_NAME IN('浆','花') THEN SUM(CVT_INV_NM)/10000 ELSE SUM(CVT_INV_NM)/1000 END AS  CVT_ONHAND --库存量

FROM ADS_EBS_INV_HQTY_DETAIL F

WHERE ${IF(ty='粉',"F.MATERIAL_CLASS_L2_NAME = '粉'","F.MATERIAL_CLASS_L1_NAME = '"+ty+"'")}

  AND F.INV_CLASS_01_NAME = '成品库'

  AND ( F.OU_ID = 102 OR F.OU_ID = 127 )

  AND F.YM_ID = '${P_S_DATE}'

GROUP BY F.PRODUCE_AGING_DESC, F.PRODUCE_AGING_NUM,F.MATERIAL_CLASS_L1_NAME

ORDER BY F.PRODUCE_AGING_NUM

最佳回答
0
0035705Lv5初级互助
发布于2024-8-27 11:09

where 后面加上  1=1

  • 2关注人数
  • 151浏览人数
  • 最后回答于:2024-8-27 11:31
    请选择关闭问题的原因
    确定 取消
    返回顶部