簡體   English   中英

使用Where子句插入表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM