我有兩個表。使用MIN更新
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與分鐘(a.starttime),同時a.Userid = b.userid,a.starttime = b.date於starttime,和原因= '登錄'。
我似乎在使用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具有的日期和時間。
問題是什麼?語法問題?不正確的數據? –
你忘了指定表別名嗎?它應該是'Min(A.starttime)',而不是'MIN(starttime)'。 – a1ex07
問題是更新到b.starttime是所有相同的數據,而不是更新條件滿足的開始時間(日期匹配,用戶匹配,和原因=登錄) – Jessica