Я не могу понять, как изменить мой запрос, чтобы использовать самую новую дату между information.infoDate и otherDates.auxDate.SQL case statement subselect в сгруппированном подзапросом
SELECT state, COUNT(type) as EQUIPMENT,
(SELECT COUNT(type)
FROM information a
WHERE a.state = b.state
AND storedprocedures.to_date(infoDate) < (SELECT current date - 5 days
FROM sysibm.sysdummy1)
GROUP BY state) as IDLE,
ROUND((SELECT COUNT(type)
FROM information a
WHERE a.state = b.state
AND storedprocedures.to_date(infoDate) < (SELECT current date - 5 days
FROM sysibm.sysdummy1)
GROUP BY state)/CAST(COUNT(type) as float) * 100, 1) as percent
FROM information b
JOIN validStates
ON state = vstate
LEFT JOIN otherDates
ON typeid = auxtypeid
WHERE state <> '***'
GROUP BY state
ORDER BY state
Я попытался с помощью следующего оператора различных способов вместо infoDate, но я не могу получить запрос для запуска. Есть ли лучший способ использовать новейшую из двух дат?
SELECT CASE WHEN auxDate > infoDate
THEN auxDate
ELSE infoDate END AS activityDate
FROM information
LEFT JOIN otherDates
ON typeid = auxtypeid
Можем ли мы, возможно, получить некоторые исходные данные образца/желаемый результат вывода? Какая версия/платформа DB2? И есть ли рефлексивная функция 'from_date' в любом формате назначения (почему не сохраняется в типе даты/времени/времени)? –