2016-12-19 10 views
0

を検索します。状況をストアドプロシージャにまとめて、VBAコードから呼び出そうとしています。私はこれを始める方法についてはわかりません。フィールド名は両方のテーブルで異なっていますが、同じデータがあります。どんな助けでも大歓迎です。 alpha.FileIDテーブルを比較して、私はテーブル<strong>T1</strong>とビューV1</strong><strong>を比較して、テーブルT1から欠落しているレコードを検索し、ボタンがクリックされたときにExcelで結果を表示しようとしています欠落しているレコードの

マスターポリシー数

保険名

..

表T1

を私は多くのコードサンプルを試してみましたが、私は私が望むものを達成できませんでしたV1を表示

FileID

PolNO

InsName

これらは、いくつかの列です。ただし、フィールド名は異なりますが、データは同じです。テーブルv1、にレコードがありません.2つのテーブルを比較して、テーブルv2の不足しているレコードを見つける必要があります。 except節

  SELECT View_v1.[Insured Name] 

      FROM View_v1 

      WHERE View_v1.alpha.FileID NOT IN  

      (  

        SELECT Table_t1.FileID 

        FROM Table_t1  

      ) 
+1

試した表、サンプルデータ、およびコードを入力してください。 – Sefe

+0

少なくとも、テーブルとビューのスキーマを提供することをお勧めします。あなたが試したコードとそれがうまくいかなかった理由があります。 – DaniDev

+0

おそらくそれほど難しいことではありません。しかし、あなたはどのような相違点を探しているのか、それがどのように表示されているのかを説明する必要があります。一致する主要な列がありますか?個々の列の相違点をお探しですか? – shawnt00

答えて

0

Anが、これを行うための最も簡単な方法です:

SELECT FileID, PolNO, InsName 
    FROM View V1 
EXCEPT 
SELECT FileID, MasterPolicyNumber, InsuranceName 
    FROM Table T1 

これはあなたに(第2の選択は、あなたの希望の結果にあなたに依存して存在しない第1の選択中の行を与えます上部と下部の選択を反転するかもしれない)。データ型と列数が同じであれば、各フィールドの名前は関係ありません。結果セットには、最初の選択項目のフィールド名が表示されます。

また、dbmsを指定しなかったため、一部のdbmsのようなOracleでは「EXCEPT」ではなく「MINUS」が使用されます。

0

私はこれがあなたの説明に基づいて探していると信じています。

あなたの例が試しているように見えるので、私はFileIDだけでなく、すべてのフィールドを比較しています。したがって、本当にFileIDが見つからない場合は、条件に応じて他の結合を削除してください。

SELECT View_v1.FileID, View_v1.PolNO, View_v1.InsName 
FROM View_v1 
LEFT JOIN Table_t1 
    on View_v1.FileID = Table_t1.FileID 
    and View_v1.PolNO = Table_t1.[Master Policy Number] 
    and View_v1.InsName = Table_t1.[Insurance Name] 
WHERE Table_t1.FileID is null 
関連する問題