У меня есть выбор, который выглядит следующим образом:
SELECT * FROM (SELECT DISTICT COL1, COL2, COL3
FROM view a WHERE conditions ....
) QUERY
WHERE CONDITIONS... LIMIT 20 OFFSET 0
Я выполняю это из Java, и мне нужно, чтобы этот запрос возвращал уникальный идентификатор.
Итак, я стараюсь:
SELECT TRIM(CHAR(HEX(GENERATE_UNIQUE()))) AS GUID, QUERY.* FROM (SELECT DISTICT COL1, COL2, COL3
FROM view a WHERE conditions ....
) QUERY
WHERE CONDITIONS... LIMIT 20 OFFSET 0
Этот возвращает ошибку, сообщающую, что я не могу использовать эту функцию в этом месте.
Если я попробую:
SELECT * FROM (SELECT DISTINCT TRIM(CHAR(HEX(GENERATE_UNIQUE()))) AS GUID, COL1, COL2, COL3
FROM view a WHERE conditions ....
) QUERY
WHERE CONDITIONS... LIMIT 20 OFFSET 0
У меня есть повторяющиеся строки, потому что я выполняю запрос без DISTINCT
Кто-нибудь знает способ сделать это?
Я не знаю версию DB2 (я пробовал все решения с Как проверить версию db2 )