sql >> データベース >  >> RDS >> Sqlserver

SSIS-関連する列を取得するために別のテーブルでルックアップを実行する

    実際、これはルックアップの場合です。名前と戻りIDでルックアップを実行したいようです。ものすごく単純。この例を作成した方法は次のとおりです。

    1. データフロータスクをデザインサーフェスにドラッグします。ダブルクリックして切り替えます。
    2. データベースの接続マネージャーを作成する
    3. デザインサーフェスにドラッグします:
      • OLEDBソース
      • ルックアップ変換
      • OLEDBの宛先
    4. ソースを宛先へのルックアップに接続します。目的地に行きたい「ルックアップマッチ出力」です。図1を参照してください。
    5. ソースを構成します。ソーステーブルにはid列とname列がありました。
    6. ルックアップを構成する
      • [全般]タブ:OLEDB接続を使用する
      • [接続]タブ:同じ接続を指定しますが、ルックアップテーブルを使用します。私のルックアップテーブルはIDと名前だけでしたが、名前は一意になっているため、ルックアップ列としてより適切です。
      • [列]タブで、「id」を出力として、nameをnameにマップするように構成します。 「新しい列を追加」するようにルックアップ操作を構成し、その列に「lookupId」という名前を付けます。図2を参照してください。
      • 他の2つのタブは無視してください
    7. 3つの列すべてを取るように出力を構成します。図3を参照してください。

    それで全部です。ソースの各行について、名前列はルックアップテーブルの名前列と一致するように使用されます。一致するたびに、そのid列が新しいlookupId列として提供されます。 3つの列すべてが宛先に進みます。

    図1:
    図2:
    図3:


    1. SQL Serverでのパラメータスニッフィング(またはなりすまし)

    2. Laravelの3つのテーブルに参加する

    3. 一意性の制約を条件付きで適用できますか?

    4. 結合SQLクエリのwhereとand句の違い