定义分组项ID的列表(define a list of id's for grouped i

2019-07-29 06:17发布

我有一个小问题,我只是不明白,是什么问题,如何解决这个问题呢,我有一个ColdFusion变量,例如#account_code#首先,该代码如下所示: 100.001.001 (有一群人五言的)和我有一些值这个变量,像sum(nettotal)和我通过这个分组的CFQUERY #account_code#我要的是设置这些代码的列表,所以我定义列表,例如<cfset code_list='100.001.001,100.001.002'>和在查询: account_code in (#code_list#)我也尝试这一个account_code in ('#code_list#')而是它给出了该错误,它说附近的“0.001' 不正确的语法。 据我了解我必须以某种方式取代这些点,并定义码ID的没有他们。 谢谢大家的帮助! 我真的appretiate吧!

Answer 1:

如果我理解你的问题真的是你如何正确使用SQL IN子句。

IN子句的SQL取值的列表,如果这些值是数字,他们并不需要被引用,但你的代码串,所以需要加引号的每个值

select * from tbl
where id in ('100.001.001','100.001.002')

在ColdFusion的做到这一点,正确的方法是使用<cfqueryparam>与列表= TRUE

<cfset code_list='100.001.001,100.001.002'>
<cfquery name="qSomething" ...>
select * from tbl
where id in (
  <cfqueryparam list="true" 
    value="#code_list#"
    cfsqltype="cf_sql_varchar" />
)
</cfquery>

这就使你的名单到您的查询多个参数,如果你的code_list实际上,传入的表格或URL变量有助于保护您免受SQL注入攻击。



文章来源: define a list of id's for grouped item