2017-06-09 25 views
-1

私は3つの異なるテーブルを持っています。各表のすべてのフィールドの合計長は同じです。3つのテーブルから1つのファイルにデータを結合

表1 - フィールド1 char(20)、フィールド2 char(10)は、mフィールドのようです。すべてのフィールドからの合計バイトは700です。

表2 - フィールド1 char(20)、フィールド2 char(5)はnフィールドと似ています。 からの合計バイトはすべて700です。 表3 - フィールド1 char(20)、フィールド2 char(2)はmフィールドと似ています。 すべてのフィールドからの総バイト数が700

表1 表2は、6行 表3は、4行

を有し有する14行を持つすべての3つのテーブルデータを組み合わせることSQLSERVER 2016またはSSISでとにかくある 出力は24行にする必要があります。

+0

はい、簡単です。何を試しましたか? –

+0

はSSISでUNION ALL変換を試みましたが、マッピング中に1つのテーブル2のフィールドがテーブル1よりも大きい場合は、結合できませんでした。 –

+0

'SQL-SERVER'で' UNION ALL'を試しましたか?フィールドの長さが一致しない場合(例:フィールド2)、「SSIS」が文句を言うことがあります。 – TheEsnSiavashi

答えて

0

各クエリが同じデータ型を持つ同じ数の列を返すようにSELECTクエリを変更します。これは、少ない列を持つテーブルのために、あなたは、彼らが同じデータ型であることを確認してくださいソースコンポーネントの詳細エディタに入るとのSSISのデータ型を設定するには

SELECT Col1, Col2, NULL AS Col3, etc... 

のようなダミーの列を追加する必要がありますことを意味しそれぞれのテーブルで同じです。

次に、テーブルをUNION ALL変換と問題なく組み合わせることができます。

関連する問題