执行数据失败:执行SQL失败:“Parameter index out of range (1 > number of parameters, which is 0).”
我目前有两种方法可解决该问题:
一是在外面包一层 select * from ( xx )a 这样可以解决
二是不勾选:数据库内计算
但是第一种方法会让查询速度变慢,第二种会让前端变的很卡,请问如何解决呢?
sql如下:
SELECT
a.`统计日期`,
case
when ?{weidu} = '0' then b.`大区支行机构号`
when ?{weidu} = '1' then a.`机构号`
when ?{weidu} = '2' then 'XXX'
when ?{weidu} = '3' then (case when a.`柜员号` = '' then '无' else a.`柜员号` end)
else '未知' end as '机构号',
case
when ?{weidu} = '0' then b.`大区支行机构名称`
when ?{weidu} = '1' then a.`机构简称`
when ?{weidu} = '2' then 'XXX'
when ?{weidu} = '3' then (case when a.`客户经理名称` = '' then '无' else a.`客户经理名称` end)
else '未知' end as '机构简称',
a.`机构号` as '机构号原始',
a.`机构简称` as '机构简称原始',
?{weidu} as `统计维度`,
a.`柜员号`,
a.`客户经理名称`,
a.`产品名称`,
a.`建档户数`,
a.`授信户数`,
a.`用信户数`,
a.`授信金额`,
a.`贷款余额`,
b.`大区支行机构号`,
b.`大区支行机构名称`,
CONCAT(a.`机构号`,a.`机构简称`) AS `机构简称2`,
c.`经济档案采集任务数` as `任务数`
FROM
zgdata.`XXXXXXX` AS a
LEFT JOIN machining.`参数_合并机构号参数表v2` b on a.`机构号` = b.`机构号` AND b.`产品名称` = '存款与对公贷款'
left join machining.`参数_存款_存贷指标参数表` c on a.`机构号` = c.`机构号`