Я не знаю, возможно ли это вообще, но я хочу упорядочить результаты моего запроса по времени, прошедшему между двумя датами, одна из которых поступила из запроса.
Что мне нужно, так это заказать альбомы с диска DISCS, чтобы те, у которых REL_DATE была ближе к другой дате (заданной во втором запросе), появились первыми. Запрос «SELECT ORDER_S ...» возвращает одну дату, извлеченную из другой таблицы, и отлично работает сама по себе.
SELECT ALBUM
FROM DISCS
ORDER BY
ABS((
SELECT ORDER_S
FROM SALE_LINE
WHERE E_MAIL = (
SELECT E_MAIL FROM CLIENTS
WHERE DNI = 46470063
) AND ROWNUM = 1
ORDER BY ORDER_S DESC)
- REL_DATE) ASC;
Где ALBUM - атрибут типа строки, а ORDER_S и REL_DATE - атрибуты типа DATE.
Однако все, что я получаю, - это ошибка в строке ORDER BY ORDER_S DESC)
, «отсутствует правая скобка», и я не могу понять, почему.