2013-07-02 43 views
1

我有3個表。 PositionCode,PositionCodeDetail和服務創建SQL查詢插入一個值,如果另一個已經存在

服務已服務ID,說明和狀態

PositionCode已代碼ID,positioncode,遞減,狀態

PositionCodeDetail已經positioncodedetailid,服務ID,和代碼ID

PositionCodeDetail基本上是一個給定位置代碼的潛在服務列表。我現在要爲每個位置代碼添​​加一個新的serviceid,如果它具有現有的服務代碼爲15.

基本上每次位置代碼都有serviceid 15我想插入一個新的記錄,該記錄具有相同的codeid並添加servicecode爲20.自動分配PositioncodedetailID。

任何幫助,將不勝感激。

+0

你已經有一個查詢來選擇要複製的人? – Randy

+0

SELECT distinct [CODEID] FROM [PositionCodeDetail] where SERVICEID = 15 – user1535268

回答

1
insert PositionCodeDetail 
     (serviceid, codeid) 
select 20 
,  codeid 
from PositionCodeDetail 
where serviceid = 15 

隨着現有的行額外的檢查與service = 20

insert PositionCodeDetail 
     (serviceid, codeid) 
select 20 
,  codeid 
from PositionCodeDetail pcd1 
where serviceid = 15 
     and not exists 
     (
     select * 
     from PositionCodeDetail pcd2 
     where pcd1.codeid = pcd2.codeid 
       and pcd2.serviceid = 20 
     ) 
+0

工作很好。謝謝 – user1535268

相關問題