2017-01-11 23 views
1

私はケトルPentahoデータ統合を使用しています。最初のテーブル(最初のdb)から既に1番目のテーブル(2番目のdb)に存在する場合は、IdNカラムの挿入をスキップする必要があります。IDが存在しない場合はテーブルに挿入し、それ以外の場合はスキップします

私のケトルのデザインでは、テーブル入力(いくつかの行を返しました)があります。

返された行から別個のIdN列を選択し、それらを(2番目のデータベースの2番目のテーブルに)挿入する必要があります。私は、パラメータIDNにチェックしていることである、

Invalid column name 'IdN'.

そして、何私を混乱させる:

INSERT INTO {SecondTable} 
SELECT DISTINCT (IdN) 

しかし、エラーで返されました:私はにこのコードを試してみた

は、SQL文を実行します私のケトルのデザインの "Execute SQL section"ノードの "引数として使用するフィールド名"(これは有効なカラム名です)前のテーブル入力ノードから返されました。

+3

ここで、 'SELECT'の' FROM'部分はどこですか? – JotaPardo

+0

以前の「テーブル入力」ノードからデータを取得していますが、「以前のSQL実行データ・ラインから」をどのように指定できるかわかりません。 – luka032

+0

私はあなたがまだ 'FROM'のテーブルを使うべきだと思います。 – JotaPardo

答えて

0

私は理解していることを確認してください。あるデータベースから別のデータベースのテーブルにidN列を選択するためのクエリを作成しようとしています。そのクエリは、この

Insert into db1.dbo.tableName1(colname) 
    Select Distinct colname From db2.dbo.tablename2 
+0

ケトルの1つの接続が1つのデータベースを指定するという問題はほとんどありません。接続は1つに限定されていますので、何らかの形でデータをバッファリングして転送します。 – luka032

+0

[DatabaseName]。[Schema]。[TableName]の形式で他のデータベースのテーブルを使用する場合、他のデータベースへの接続からでもテーブルに接続できるはずです。あなたはそれを試しましたか?別のサーバー上にある場合、[サーバー]。[データベース名]。[スキーマ]。[テーブル名] –

1

のようになります場合は、私はやかんで「ユニークな行」のステップを使用して成功してきた、それは私が望んでいた正確に何をします、ただ値が存在することを確認するに列を指定します。

関連する問題