0

5 つのテーブルを結合し、これらのテーブルで変換を行いました。これで、最後に 1 つのテーブルができました。ここで、この単一のテーブルに対して SQL クエリを実行して、レコードをフィルター処理したいと考えています。しかし、このテーブルで単純な sql クエリを実行する方法がわかりません。結果のテーブルを示すスナップショットを添付しました。この結果のデータ セットをソースとして取得するにはどうすればよいですか? このデータを除外した後、宛先を入力したいと思います。SSIS 2008 を使用しています。

ここをクリックして、単純な SQL クエリを実行するテーブルを表示します

4

3 に答える 3

0

結果のテーブルに対して実行する SQL クエリが単純であると仮定すると、スクリプト コンポーネント タスクを使用できます。簡単に言えば、それがこの性質のものであれば、SELECT * FROM T WHERE a = 'zz' and b = 'XX' などです。

ただし、クエリに自己結合がある場合は、これら 5 つのテーブルを結合した結果を物理テーブルにダンプして、そこから移動する方がよいでしょう。

クエリは非常に単純なものになるようです。その場合、スクリプト コンポーネントを使用すると便利です。

別の質問: データベース レベルで並べ替えを行うことをお勧めします。ソリューションで 5 つの並べ替えタスクを使用しています。理由を教えてください。

于 2013-03-28T03:11:25.110 に答える
0
SELECT * FROM `first_table`
where `some_column` = 
(
SELECT `*`
FROM second_table
WHERE
`some_column2`='something'
LIMIT 1
)

このコードを試してください これは役に立ちます。これを使用して、これら 4 つのテーブルすべてを相互に接続することもできます。

于 2013-03-27T18:53:54.630 に答える
0

投稿した画像から、クエリしようとしているデータフローに一連のデータがあるように見えます。この時点で、次の 2 つのいずれかを行う必要があります。データベースのテーブルにデータを挿入し、別のデータ フローを使用してクエリを実行するか、条件付き分割 (またはマルチキャストと条件付き分割) を使用して、そこからさらに行をフィルター処理します。

実際に何を達成しようとしているのかについての詳細がなくても、これらは私が判断できる推奨事項です。

行をレコード セットの送信先に送信することはできますが、通常のテーブルのようにクエリを実行することはできず、FOR EACH ループ以上の処理を行うためにアクセスするには C#/VB のスキルが必要です。

于 2013-03-27T19:24:59.983 に答える