2017-09-04 23 views
1

この問題を解決するためにテーブルに重複値を挿入しないようにしたい "WHERE NOT EXISTS"という構文を使用しますが、正しく動作しません。この問題。SQL ServerでINSERT INTO SELECTクエリで重複を防ぐ方法

INSERT INTO [JPCustomer] ([CustomerID ], 
          [JPID], 
          [Frequency], 
          [StartWeek], 
          [sat], 
          [sun], 
          [mon], 
          [tue], 
          [wed], 
          [thu], 
          [fri], 
          [VisitOrder], 
          [ModifiedOn], 
          [ModifiedBy], 
          [CreatedOn], 
          [Createdby], 
          [RecordSource], 
          [IsPotential]) 
select cu.CustomerNo, 
     jp.ID, 
     4, 
     1, 
     1, 
     1, 
     1, 
     1, 
     1, 
     1, 
     1, 
     NULL, 
     NULL, 
     NULL, 
     NULL, 
     NULL, 
     0, 
     0 
from CUSTOMERNO# cu 
join SalesmanNo# sa on cu.OCCURRENCE = sa.OCCURRENCE 
join JourneyPlan JP on jp.AssignedTO = sa.SalesmanNo 
WHERE NOT EXISTS (select j.CustomerID,j.JPID from JPCustomer j) 
+0

あなたはすでにあなたのselect文での重複を持っていますか? –

+0

トリガーで確認できます... –

答えて

3

あなたの存在ではない、正しく比較されません。

WHERE NOT EXISTS 
(
select 1 -- does not matter what you return, exists will be true if any value comes back 
from JPCustomer j 
where j.CustomerID = cu.customerid -- match on customerid field 
and j.JPID = jp.id -- match on id field 
) 
+0

サポートに感謝して問題を解決しました –