我使用SQL Server Express跟蹤進出動作。我有兩個表格(table1,table2)。 Table1包含ID和startTime鍵,而Table2包含ID,startTime和endTime。
無論何時進行輸入,都會在Table1中使用所有鍵填充一行。這些鍵然後插入到表2中。
問題
我到運行中的問題是,我希望它能夠識別ID是否已經存在於表2 - 並且,如果這樣做,更新該ID的行,而不是創造一個新的。
現工作
IF(COUNT(DISTINCT ID) > 1 --When ID has been seen more than once?
INSERT INTO Table2(ID, startTime)
SELECT ID, CURRENT_TIMESTAMP
FROM Table1
WHERE ID = Table2.PTID
ELSE
INSERT INTO Table2(ID, startTime)
SELECT ID, CURRENT_TIMESTAMP
FROM Table1
在此先感謝您的幫助!分類新SQL,讓我知道如果有什麼我可以做,以改善我的問題。
看看MERGE https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql – Horaciux