Как использовать Query of Queries в качестве подзапроса (Coldfusion) - PullRequest
2 голосов
/ 28 октября 2019

Я хочу использовать запрос запросов как подзапрос, но получаю синтаксическую ошибку: Encountered "(. Вот мой запрос (qHistoryData мой объект запроса):

<cfquery dbtype="query">
    SELECT *
    FROM (
        SELECT 
            t2.*,
            ROW_NUMBER() OVER(
                PARTITION BY collectid
                ORDER BY update_on DESC
            ) AS seqnum
        FROM qHistoryData t2
    ) t
    WHERE t.seqnum = 1;
</cfquery>

1 Ответ

3 голосов
/ 28 октября 2019

Запрос запросов полностью реализован на прикладном уровне ColdFusion (в Java) и не включает базу данных, поэтому вы не можете использовать многие функции, доступные в базе данных.

Добавить столбец вВаш запрос qHistoryData, который вычисляет ROW_NUMBER() OVER( PARTITION BY collectid ORDER BY update_on DESC ) AS seqnum, а затем в вашем Запросе запросов вы можете сделать:

<cfquery dbtype = "query">
SELECT *
FROM   qHistoryData
WHERE  seqnum = 1;
</cfquery>

Другой вариант - вручную обработать объект запроса и удалить ненужные строки .

...