我兩條表: 表A ID字段1 ....如何循環瀏覽表格,找到值並插入(如果存在)?
表B ID字段2字段3 ...
我將通過表B中,如果想用LOOP同一ID AA紀錄退出表A,在表A中添加Field2和Field3的值。
我不知道如何在T-SQL中執行操作! 你能幫我嗎? 感謝
我兩條表: 表A ID字段1 ....如何循環瀏覽表格,找到值並插入(如果存在)?
表B ID字段2字段3 ...
我將通過表B中,如果想用LOOP同一ID AA紀錄退出表A,在表A中添加Field2和Field3的值。
我不知道如何在T-SQL中執行操作! 你能幫我嗎? 感謝
使用循環結構不需要此更新,您可以在解決這個問題整潔的方式使用設置操作。如果我理解正確的問題,你想從表B值UPDATE表A中使用這樣的查詢:
UPDATE TableA
SET TableA.Field2 = TableB.Field2, TableA.Field3 = TableB.Field3
FROM TableB
WHERE TableA.ID = TableB.ID
你可能想要做額外的檢查在此查詢,看看有什麼價值在2場表A中有3個在更換之前。
(爲了測試這第一次查詢的結果會是什麼,構築起UPDATE查詢SELECT查詢以上!)
SELECT CASE
WHEN TableA.ID IS NULL THEN TableB.Field2
ELSE TableB.Field3
END as FieldX
FROM TableB LEFT OUTER JOIN TableA
ON TableA.ID = TableB.ID
也許你可以這樣做只是這樣的:
select tab2.id, (tab2.field2 + tab2.field3) as sumfield
from tab2 join tab1 on tab2.id = tab1.id
OR
select tab2.id, (tab2.field2 + tab2.field3) as sumfield
from tab2
join
(select distinct id from tab1) tab1
on tab2.id = tab1.id
「在T-SQL循環」 - 不要做m'ok!集合,集合,集合......你永遠不能擁有足夠的集合! –
通過表(或其子集)中的記錄「循環」的相應概念是CURSOR。有各種類型的遊標,具體取決於你需要什麼鎖定等等。 – hardmath
你是否想用表B中的Field2和Field3組成Field1字段?或者表A中還存在Field2和Field3? – Josien