У меня есть две таблицы.
TableA
Userid Starttime reason
John yyyy-mm-dd hh:mm:ss logged in
Table B
Userid Date Starttime reason
John yyyy-mm-dd yyyy-mm-dd hh:mm:ss logged in
Мне нужно обновить время начала таблицы B с помощью min (a.starttime), в то время как a.Userid = b.userid, a.starttime = b.date,and reason = 'logged in'.
У меня возникли проблемы с использованием Min (a.starttime) в качестве того, что я хочу использовать для обновления.
Мой запрос приведен ниже:
update B
set B.starttime = (
select Min(A.Starttime)
from table as A
where B.UserID = A.UserID
and (CONVERT(DATETIME,A.DATE,102)) = (CONVERT(DATETIME,B.Date,102)))
and (A.Reason = 'loggedin')
)
from table2 as B
Я конвертирую даты, поскольку таблица B содержит дату, например, 2011-09-13 00:00:00, а A - дату и время.