你见过这种奇怪的QoQ错误[ColdFusion]吗?

时间:2012-10-23 17:37:50

标签: coldfusion coldfusion-8 qoq

我已确认第一个查询按预期工作

<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  ||

2 个答案:

答案 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>