Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL Как получить значения одновременно по двум условиям из другого списка

qew rg3 Ученик (60), на голосовании 1 месяц назад
Таблица CARD_SERIES_HISTORY имеет столбцы ID, ID_CARD, DATE_OF
По этому запросу я получаю значения всех ID_CARD последнего DATE_OF в определенном периоде
SELECT ID_CARD, MAX(DATE_OF)
FROM CARD_SERIES_HISTORY
WHERE DATE_OF BETWEEN TO_DATE('01.07.2024 00:00:00', 'DD.MM.YYYY HH24:MI:SS') AND TO_DATE('20.07.2024 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
GROUP BY ID_CARD

Теперь мне нужно получить отдельно список ID у каждой этой записи
Голосование за лучший ответ
Александр Сухов Знаток (276) 2 месяца назад
 SELECT t1.ID, t1.ID_CARD, t1.DATE_OF 
FROM CARD_SERIES_HISTORY t1
JOIN (
SELECT ID_CARD, MAX(DATE_OF) AS LAST_DATE
FROM CARD_SERIES_HISTORY
WHERE DATE_OF BETWEEN TO_DATE('01.07.2024 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
AND TO_DATE('20.07.2024 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
GROUP BY ID_CARD
) AS LAST_ENTRY ON t1.ID_CARD = LAST_ENTRY.ID_CARD AND t1.DATE_OF = LAST_ENTRY.LAST_DATE;
Попробуй выполнить этот запрос
Похожие вопросы