2013-05-28 16 views
7

[相互作用]テーブルのIDを取得したいが、これらのIDは[EmailOUT]テーブルと等しくない必要があります。私はその質問を書くことができませんでした。tSQL NOT INクエリ

Select ID from EmailOut   
where ID NOT IN   
    (select ID from 
    [172.28.101.120].[GenesysIS].dbo.interactions 
    where media_type = 'email' 
    and type = 'Outbound') 

これと同様のもの。 InteractionsテーブルにOutbound Eメールが必要ですが、これらのEメールはEmailOutテーブルに存在する可能性があります。私はそれらを削除したい。アウトバウンドのメールは約300を数えるが、このクエリの結果べき未満300

+0

が正確に述べたようにという名前の外国人と主キーはありますか?対話.ID対EmailOut.ID? – madC

答えて

14

あなたが[相互作用]テーブルのIDの取得したい場合は、あなたのクエリを逆にする必要がありそうです:

select ID from 
[172.28.101.120].[GenesysIS].dbo.interactions 
where media_type = 'email' 
and type = 'Outbound' 
AND ID NOT IN (SELECT ID FROM EmailOut) 
+0

はい、それは私が欲しいものです。ありがとうございました。それは157行を返します。 – cihata87

+0

..また、この例のように整数をチェックすると、(119,138,158,165)のように選択せずにNOT INを使用することもできます: – netfed

-1

についての
select ID from [172.28.101.120].[GenesysIS].dbo.interactions 
where media_type = 'email' 
and type = 'Outbound' 
minus 
select ID from EmailOut 
+0

マイナスとは何ですか? 「マイナス」エラーの近くで誤った構文を与える – cihata87

1

この1試してみてください -

SELECT t2.* 
FROM [172.28.101.120].[GenesysIS].dbo.interactions t2 
WHERE t2.media_type = 'email' 
    AND t2.[type] = 'Outbound' 
    AND NOT EXISTS (
      SELECT 1 
      FROM dbo.EmailOut t 
      WHERE t.id = t2.id 
     ) 
+0

いいえ解決しない – cihata87

+0

更新された回答を試してください。 – Devart