ColdFusion使用cfqueryparam循环查询

时间:2014-01-17 13:13:42

标签: coldfusion cfloop cfqueryparam

我试图用嵌套查询循环查询。我到目前为止的代码:

<cfloop query="hashTableLatest">
    <cfquery name="getDifferentImages" dbtype="query">
        SELECT image, imageHash
        FROM hashTable
        WHERE imageHash = <cfqueryparam cfsqltype="cf_sql_varchar" value="#hashTableLatest.imageHash#" />
    </cfquery>
</cfloop>

我遇到的问题是它没有通过cfqueryparam动态循环。它只是从hashTableLatest中获取第一个值。谁能告诉我我做错了什么?如何循环查询并动态更改cfqueryparam?

EDITED 要在单个查询中获取我需要的所有信息:

select a.imageHash
from tblHashLatest a
WHERE a.imageHash in (SELECT c.imageHash
                  FROM tblHash c
              WHERE a.imageHash <> c.imageHash)

我认为上面的SQL应该能够获得我需要的所有信息。我正在寻找的结果是获得不同的所有imageHas

1 个答案:

答案 0 :(得分:3)

有几种选择。一种是不使用循环而只是这样做:

WHERE imageHash in ( 
<cfqueryparam cfsqltype="cf_sql_varchar" 
value="#ValueList(hashTableLatest.imageHash)#" list="yes">
)
</cfquery

如果可能,您应该寻找从单个查询中获取所需信息的方法。