1

最初のクエリが期待どおりに機能することを確認しました

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

しかし、2 番目のクエリでは、次のエラーが発生します。

「shipViaName が見つかりました。条件式が正しくありません。条件式が正しくありません。行 0、列 0 で字句エラーが発生しました。検出されました: "\"" (34)、後: ""

次の行でエラーが発生していると表示されます。

<cfquery name="validation_info2" dbtype="query">

2 つのクエリを 1 つにまとめたときにも、このエラーが発生していました。

コメントからの更新:

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

2 に答える 2

7

2番目のSQLクエリでは、文字列に二重引用符ではなく一重引用符を使用する必要があります。

于 2012-10-23T18:53:10.817 に答える
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>
于 2012-10-23T17:56:52.373 に答える