我想從一個表中更新記錄到另一個表中,如果有新的記錄,就插入這些記錄。在這種情況下,新記錄有相同的ID,但有不同的列屬性。當我運行更新和插入查詢時,它只考慮表一中的最后一條記錄。似乎它正在覆寫表2中的資料。如何處理這個問題?我想在表2中添加兩條額外的記錄,盡管它們的Premise_ID是一樣的。
第一張表
SELECT Premise_ID, Division, InstallationType
FROM [GIS_NewJersey].[sde].[SAP_Load]
WHERE Premise_ID = '8000004592'/span>
結果:
第二張表
SELECT Premise_ID, Division, InstallationType
FROM [GIS_NewJersey].[sde].[PREMISE]
WHERE Premise_ID = '8000004592'
結果:
uj5u.com熱心網友回復:
你可以使用MERGE陳述句
WITH Source AS (
SELECT Premise_ID, Division, InstallationType
FROM sde.SAP_Load
WHERE Premise_ID = '8000004592')
),
目標 AS (
SELECT Premise_ID, Division, InstallationType
FROM sde.PRtsqlEMISE
WHERE Premise_ID = '8000004592'> MERGE 目標t
USING Source s
ON t.Premise_ID = s.Premise_ID
WHEN MATCHED THEN
UPDATE SET
Division = s.Division,
安裝型別 = s.安裝型別
WHEN NOT MATCHED THEN
INSERT (Premise_ID, Division, InstallationType)
VALUES (s.Premise_ID, s.Division, s.InstallationType)
;
移除兩個WHERE過濾器,以匹配所有Premise_ID行
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328424.html
標籤:


