Я пытаюсь перебрать запрос с помощью вложенного запроса. Код, который я до сих пор:ColdFusion looping over query с 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 должен получить мне всю информацию, что мне нужно. Результат, который я ищу, - это получить все изображения, которые не совпадают.
Ваш код верный, и он должен делать то, что вы хотите. Что заставляет вас думать, что это не так? Вы использовали CFDUMP во внутреннем запросе, чтобы проверить a) что он содержит; б) используемые SQL & params? –
Почему вы зацикливаетесь на запросе и выполняете другой запрос в этом цикле? Посмотрите в JOINs, и вы сможете сделать все это в одном запросе, –