Проблема с ColdFusion Query of Query после обновления сервера ColdFusion с CF9 до CF21
Я не могу понять это. Моя компания недавно обновила наш сервер ColdFusion с CF9 до CF2021. Одна из моих страниц использует запросы запросов для запуска. До обновления страница работала нормально. Однако после обновления запрос запроса, где оператор не возвращает никаких результатов. Даже если в исходном запросе есть данные. Данные поступают из источника данных DB2, если они изменились в новой версии.
<cfquery name = "query_data_sample" dbtype="query">
SELECT
SAMPLE_DATE
, SAMPLE_NBR
, SAMPLE_MISC_NBR
, SUM (RECD_QTY) AS TTL_RECD_QTY
, SUM (MISC_QTY_1) AS TTL_MISC_QTY_1
, SUM ( 1 ) AS TTL_COUNT
FROM original_query_result
WHERE 1=1
AND SAMPLE_DATE = <cfqueryparam value = "#original_query_result.SAMPLE_DATE#" cfsqltype = "CF_SQL_DATE">
AND SAMPLE_NBR = <cfqueryparam value = "#trim(original_query_result.SAMPLE_NBR)#" cfsqltype = "CF_SQL_CHAR">
AND SAMPLE_MISC_NBR = <cfqueryparam value = "#trim(original_query_result.SAMPLE_MISC_NBR)#" cfsqltype = "CF_SQL_CHAR">
GROUP BY
SAMPLE_DATE
, SAMPLE_NBR
, SAMPLE_MISC_NBR
</cfquery>
Когда я комментирую операторы AND и вывожу приведенный выше запрос, я вижу вывод original_query_result со всеми значениями TTL и строками Sample. Однако, если я хочу получить только одну строку с операторами AND, тогда запрос возвращается как не находящий строку. Я делаю запрос cfoutput = original_query_result и пытаюсь получить общее количество для отображения в каждой строке в моей выходной таблице сетки.
Любая помощь будет принята с благодарностью. Я пытаюсь понять это уже больше недели.
1 ответ
Я видел что-то подобное некоторое время назад и нашел этот пост:
В основном мне пришлось CAST дату и использовать cfqueryparam (как и вы):
SAMPLE_DATE = CAST(<cfqueryparam value="#original_query_result.SAMPLE_DATE#" cfsqltype="CF_SQL_DATE"> AS date)
В сообщении говорилось, что они должны бросить обе стороны, но я не нашел этого.