Сравните даты из 2 отдельных запросов sql

Для нашего приложения неправильно указана дата последнего доступа, и я пытаюсь обновить его.

Чтобы увидеть, какую дату он сейчас показывает, я могу сделать;

select LoginID, ActionDate
From LoginHistory

Теперь, чтобы увидеть, какая дата должна быть на самом деле, я делаю:

select lg.UserName, lg.LoginID, lg.Activated, id.Title, max(ih.ActionedDate) as LastAccessed
from Login lg
left join (
       ItemLoginAssociation la
       join ItemView id
       on id.ItemId = la.ItemID
) on la.LoginID = lg.LoginID
left join ItemHistory ih
on id.ItemId = ih.ActionedBy and id.VersionRank =1
where action= 'View' 
group by lg.UserName, lg.LoginID, lg.Activated, id.Title
order by LastAccessed

Я хотел бы сравнить ActionDate из первого запроса и дату LastAccessed из второго запроса по идентификатору входа, и если дата во втором запросе более поздняя, ​​чем дата в первом, замените дату первого запроса на вторая дата запроса, если это имеет смысл?

Как я могу это сделать?

Извините, обновил свой вопрос

lross15 21.03.2022 13:57
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете оставить свой второй запрос:

select lh.LoginID, lh.ActionDate, x.LastAccessed
From LoginHistory lh
left join (

   select lg.UserName, lg.LoginID, lg.Activated, id.Title, max(ih.ActionedDate) as LastAccessed
   from Login lg
   left join (
       ItemLoginAssociation la
       join ItemView id
       on id.ItemId = la.ItemID
   ) on la.LoginID = lg.LoginID
   left join ItemHistory ih
   on id.ItemId = ih.ActionedBy and id.VersionRank =1
   where action= 'View' 
   group by lg.UserName, lg.LoginID, lg.Activated, id.Title
   -- order by LastAccessed
) x on x.loginID = lh.LoginID

order by закомментирован, потому что заказывать подзапрос довольно бесполезно.

P.S. Если оба запроса работают в вашей СУБД, этот запрос тоже должен работать, потому что это довольно стандартный SQL.

Это то, что я искал, спасибо

lross15 21.03.2022 14:02

Другие вопросы по теме