我已确认第一个查询按预期工作
<cfquery name="validation_info" dbtype="query">
select shipViaName,TOTALSHIPRATE
from s_c_c.qShipCalc
WHERE sku in (#preserveSingleQuotes(validate)#)
</cfquery>
<cfquery name="validation_info2" dbtype="query">
select TOTALSHIPRATE
from validation_info
WHERE shipViaName = "FedEx 3 Day"
</cfquery>
但是在第二个查询中,我收到了这个错误:
遇到“shipViaName。条件表达式不正确,不正确 条件表达式,第0行第0列的词法错误。 遇到:“\”“(34),之后:”“
它说错误发生在这一行:
<cfquery name="validation_info2" dbtype="query">
当我将两个查询合并为一个时,我也遇到了这个错误。
从评论中更新:
validation_info查询的转储:
SHIPVIANAME TOTALSHIPRATE
1 | FedEx Ground | 11.9 ||
2 | FedEx 3 Day | 22.99 ||
3 | FedEx 2 Day | 26.99 ||
4 | FedEx 1 Day | 44.55 ||
5 | FedEx Ground | 0 ||
6 | FedEx 3 Day | 23.63 ||
7 | FedEx 2 Day | 26.71 ||
8 | FedEx 1 Day | 41.9 ||
答案 0 :(得分:7)
在第二个SQL查询中,您需要为字符串使用单引号而不是双引号。
答案 1 :(得分:0)
我建议您使用cfqueryparam
作为变量,试试这个
<cfquery name="validation_info" dbtype="query">
SELECT
shipViaName,
TOTALSHIPRATE
FROM
s_c_c.qShipCalc
WHERE
sku IN (<cfqueryparam value="#validate#" cfsqltype="CF_SQL_INTEGER" list="yes" /> )
</cfquery>