2011-07-19 6 views
1

両方のデータベースに行が存在するかどうかを正しく確認する方法は不明です。助けてください。行が2つのデータベースに存在するかどうかを確認するにはどうすればよいですか?

@pStoreNum bigint, 
@pGuid varchar(100) 

IF EXISTS (SELECT Guid FROM dbo.StoreSales WHERE Guid = @pGuid 
AND SELECT Guid FROM dbo.StoreReporting WHERE Guid = @pGuid) 
BEGIN 
UPDATE 
    dbo.StoreReporting 
SET 
    ValidCount = ValidCount + 1 
WHERE 
    StoreNum = @pStoreNum 
END 

答えて

3

は二回EXISTS:

IF EXISTS (first select) AND EXISTS (second select) 
BEGIN 
... 
END 
+1

1 - 'INNER JOIN' – JNK

+0

おかげでアーロンよりも拡張可能!私はあなたにJNKと同様にupvoteを与えました。 –

1
IF EXISTS (SELECT Guid FROM dbo.StoreSales ss 
      INNER JOIN dbo.StoreReporting sr 
       ON sr.Guid = ss.Guid 
      WHERE ss.Guid = @pGuid) 

これは、両方のテーブルにだと確認します。 INNER JOINは、結果セットを両方のテーブルの同じを持つ行に制限します。したがって、その結果セット内に存在する場合は、両方の場所に存在します。あなただけ指定する必要が

関連する問題