能不能实现每个查询值独立,各不相干,选什么出什么,文中这样搞太不智能了?
赞 0 2021-03-31 13:55
你好,感谢你的反馈,已提交产品需求
赞 0 2021-04-28 11:02
这个参数为空的处理太不智能了,感觉完全是在写拼接字符串的SQL代码。我觉得完全可以优化一下这个功能,做一个空值的特殊选项处理,避免这样复杂的操作来实现设计。建议借鉴一下metabase
赞 1 2021-03-16 15:51
这里只是示例一个控件参数变量,那两个、三个呢?我用and连接两个变量就不行 ${ if(len(区县) == 0 and len(市) == 0 and len(省) == 0, "", if(len(区县) == 0 and len(市) == 0, "and gd.pname ='"+ 省 +"' ", if(len(区县) == 0, "and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' ", "and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' and gd.adname ='"+ 区县 +"'" ) ) ) }
赞 0 2021-03-06 11:31
你没学过SQL的 Nvl()?
赞 0 2020-10-29 13:09
if(condition, a, b) --- if语句在我们定义数据集时,sql中通过${}的方式包裹脚本时,参数就不需要再使用${}包裹了。if语句第一个形参是条件语句需要返回一个布尔值,若为true则执行a,若为false则执行b。 所以若为空则不过滤的条件可以写成len(area) == 0,即area参数的值长度等于0这一条件为true时,执行"", 否则执行b,即执行:"and 货主地区 = '" + area + "'"。这是一种字符串拼接参数的写法,area是字符串类型,所以前后还需要拼接一个单引号。
赞 3 2020-10-29 11:03
85 评论
能不能实现每个查询值独立,各不相干,选什么出什么,文中这样搞太不智能了?
赞 0 2021-03-31 13:55
你好,感谢你的反馈,已提交产品需求
赞 0 2021-04-28 11:02
这个参数为空的处理太不智能了,感觉完全是在写拼接字符串的SQL代码。我觉得完全可以优化一下这个功能,做一个空值的特殊选项处理,避免这样复杂的操作来实现设计。建议借鉴一下metabase
赞 1 2021-03-16 15:51
你好,感谢你的反馈,已提交产品需求
赞 0 2021-04-28 11:02
这里只是示例一个控件参数变量,那两个、三个呢?我用and连接两个变量就不行
${
if(len(区县) == 0 and len(市) == 0 and len(省) == 0,
"",
if(len(区县) == 0 and len(市) == 0,
"and gd.pname ='"+ 省 +"' ",
if(len(区县) == 0,
"and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' ",
"and gd.pname ='"+ 省 +"' and gd.cityname ='"+ 市 +"' and gd.adname ='"+ 区县 +"'"
)
)
)
}
赞 0 2021-03-06 11:31
你没学过SQL的 Nvl()?
赞 0 2020-10-29 13:09
if(condition, a, b)
---
if语句在我们定义数据集时,sql中通过${}的方式包裹脚本时,参数就不需要再使用${}包裹了。if语句第一个形参是条件语句需要返回一个布尔值,若为true则执行a,若为false则执行b。
所以若为空则不过滤的条件可以写成len(area) == 0,即area参数的值长度等于0这一条件为true时,执行"", 否则执行b,即执行:"and 货主地区 = '" + area + "'"。这是一种字符串拼接参数的写法,area是字符串类型,所以前后还需要拼接一个单引号。
赞 3 2020-10-29 11:03