2013-10-22 122 views
0

我有2代表與同一列例如ID,供應商ID,ConditionValue,狀態,刪除,我插入數據作爲代碼如何將記錄從一張表插入另一張表?

INSERT INTO SCM_SupplierShippingRateHistory 
SELECT *   
FROM SCM_SupplierShippingRate   
WHERE Id NOT IN(SELECT ID FROM dbo.GetIDsTableFromIDsList(@NonDeleteShippingIDs))   
AND SupplierId= @SupplierID   
AND ConditionValue IS NULL  
AND Deleted=0  

我要插入相同的數據,但我想設置狀態= 4 I如何能這樣做

回答

1

顯式選擇列。

INSERT INTO SCM_SupplierShippingRateHistory 
(
    Col1, 
    Col2, 
    . 
    . 
    . 
    Status 
) 
SELECT Col1, 
     Col2, 
     . 
     . 
     . 
     4 AS [Status] 

FROM SCM_SupplierShippingRate   
WHERE Id NOT IN 
     (
      SELECT ID 
      FROM dbo.GetIDsTableFromIDsList(@NonDeleteShippingIDs) 
     )   
     AND SupplierId= @SupplierID   
     AND ConditionValue IS NULL  
     AND Deleted=0  
+0

請告訴我代碼請 – Nadeem

+0

@Nadeem檢查我的更新... –

0

你可以像這樣設置狀態。

INSERT INTO SCM_SupplierShippingRateHistory 
SELECT ID,SupplierID,ConditionValue,4 AS Status,Deleted   
FROM SCM_SupplierShippingRate   
WHERE Id NOT IN(SELECT ID FROM dbo.GetIDsTableFromIDsList(@NonDeleteShippingIDs))   
AND SupplierId= @SupplierID   
AND ConditionValue IS NULL  
AND Deleted=0 
相關問題