0

我正在尝试使用嵌套查询循环查询。我到目前为止的代码:

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

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

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

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

4

1 回答 1

3

有几个选项。一种是不使用循环,只需执行以下操作:

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

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

于 2014-01-17T13:28:11.237 回答