[英]Insert Into Table using Where Clause
CONTEXT
我正在使用SQL Server Express來跟蹤進出動作。 我有兩個表(table1,table2)。 Table1包含ID和startTime鍵,而Table2包含ID,startTime和endTime。
每當輸入一個條目時,Table1中的所有鍵都會填充一行。 然后將這些鍵插入Table2。
問題
我遇到的問題是我希望它能夠識別表2中是否已存在ID - 如果存在,則更新該ID的行而不是創建新的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新手,讓我知道我能做些什么來改善我的問題。
這樣的事怎么樣?
IF EXISTS (SELECT ID FROM Table2)
Update Table2
SET Table2.CURRENT_TIMESTAMP = Table1.CURRENT_TIMESTAMP --However you want to update
FROM Table2 tab2
JOIN Table1 tab1 on Table1.ID = Table2.PTID
ELSE
INSERT INTO Table2(ID, startTime)
SELECT ID, CURRENT_TIMESTAMP
FROM Table1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.