按公司筛选报错

如题,我之前在最后一行Sql里用的是SITE_NAME字段,现在我换成SITE_NUMBER,相应的数据字典处也改了,别的没动,按理说不应该有问题吧。。。

我去看了一下,难道和数据类型有关?image.pngimage.pngimage.png

DailyReport-ClinkerYeildDay.cpt


FineReport 故事的小黄瓜 发布于 2018-11-23 10:20 (编辑于 2018-11-23 10:51)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
4
星痕Lv6高级互助
发布于2018-11-23 10:21(编辑于 2018-11-23 10:46)

你这个sql语句。。。真的是太乱了。直接把sql复制发出来吧

select
	DailyReport.OBJECT_KEY
	, DailyReport.ApprovalResult
	, DailyReport.factoryKey
	, DailyReport.ReportDate
	, DailyReport.ClinkerYeildDay
	, DailyReport.ClinkerYeildPlan
	, DailyReport.ClinkerYeildDayUpdate
	, PL_SITE.SITE_NUMBER
	, PL_SITE.SITE_NAME
	, PL_CELL.CELL_NAME
	, PL_CELL.CELL_NUMBER
	, PM_PLAN.ClinkerYield
from
	dbo.[DailyReport]
left join PL_SITE on
	DailyReport.factoryKey = PL_SITE.OBJECT_KEY
left join PL_CELL on
	DailyReport.ProdLineCode = PL_CELL.DCS_NUMBER
left join PM_PLAN on
	DailyReport.ProdLineCode = PM_PLAN.MaterielCode
where
	ApprovalLevel = 2 
	${if(type ="month"
	, " and cast(month(dbo.[DailyReport].ReportDate) as int) = " + 月 + " and year(dbo.[DailyReport].ReportDate) = '" + 年 + "'"
	, "")} 
	${if(len(公司名称) == 0	, "", " and SITE_NUMBER in (" + 公司名称 + ")")}


  • 故事的小黄瓜 故事的小黄瓜(提问者) SELECT DailyReport.OBJECT_KEY,DailyReport.ApprovalResult,DailyReport.factoryKey,DailyReport.ReportDate,DailyReport.ClinkerYeildDay,DailyReport.ClinkerYeildPlan,DailyReport.ClinkerYeildDayUpdate,PL_SITE.SITE_NUMBER,PL_SITE.SITE_NAME,PL_CELL.CELL_NAME,PL_CELL.CELL_NUMBER,PM_PLAN.ClinkerYield FROM dbo.[DailyReport] LEFT JOIN PL_SITE ON DailyReport.factoryKey = PL_SITE.OBJECT_KEY LEFT JOIN PL_CELL ON DailyReport.ProdLineCode = PL_CELL.DCS_NUMBER LEFT JOIN PM_PLAN ON DailyReport.ProdLineCode = PM_PLAN.MaterielCode where ApprovalLevel=2 ${if(type=\'month\', \" and cast(month(dbo.[DailyReport].ReportDate) as int) = \"+ 月 + \" and year(dbo.[DailyReport].ReportDate) = \'\" + 年 +\"\'\", \"\")} ${if(len(公司名称) == 0,\"\",\" and SITE_NUMBER in (\'\" + 公司名称 + \"\')\")}
    2018-11-23 10:24 
  • 星痕 星痕 回复 故事的小黄瓜(提问者) 是说最后一块不用name而用数字编码了是吗?如果是数字的话。改一下sql ,记得你的下拉复选框的分隔符要改成 , 而不是之前的\',\' 改后代码看上面
    2018-11-23 10:46 
  • 故事的小黄瓜 故事的小黄瓜(提问者) 回复 星痕 您这个,还是不行,没关系,那我就不改了吧
    2018-11-23 11:09 
  • 星痕 星痕 回复 故事的小黄瓜(提问者) 找个人给你远程看一下吧,我这边没时间
    2018-11-23 11:21 
最佳回答
1
snrtuemcLv8专家互助
发布于2020-7-10 17:28

先设置公司名称返回字符串,代码如下

image.png

select

    DailyReport.OBJECT_KEY

    , DailyReport.ApprovalResult

    , DailyReport.factoryKey

    , DailyReport.ReportDate

    , DailyReport.ClinkerYeildDay

    , DailyReport.ClinkerYeildPlan

    , DailyReport.ClinkerYeildDayUpdate

    , PL_SITE.SITE_NUMBER

    , PL_SITE.SITE_NAME

    , PL_CELL.CELL_NAME

    , PL_CELL.CELL_NUMBER

    , PM_PLAN.ClinkerYield

from

    dbo.[DailyReport]

left join PL_SITE on

    DailyReport.factoryKey = PL_SITE.OBJECT_KEY

left join PL_CELL on

    DailyReport.ProdLineCode = PL_CELL.DCS_NUMBER

left join PM_PLAN on

    DailyReport.ProdLineCode = PM_PLAN.MaterielCode

where

    ApprovalLevel = 2 

    ${if(type ="month"

    , " and cast(month(dbo.[DailyReport].ReportDate) as int) = " + 月 + " and year(dbo.[DailyReport].ReportDate) = '" + 年 + "'"

    , "")} 

    ${if(len(公司名称) == 0   , "", " and SITE_NUMBER in ('" + 公司名称 + "')")}


最佳回答
0
dhc12912Lv2见习互助
发布于2018-11-23 10:39

in这块有问题,你不要让他带len判断试试

  • 4关注人数
  • 676浏览人数
  • 最后回答于:2020-7-10 17:28
    请选择关闭问题的原因
    确定 取消
    返回顶部