複数のdb resultrowsを1つのストリーム行に配置します
質問
データベーステーブルがあります。IDと「ヘッダー」と呼ばれる文字列フィールドを備えたヘッダーと呼びましょう。 Subheadersと呼ばれるデータベースの別のテーブルには、HeaderIDとStringフィールド「Subheader」という2つのフィールドがあります。ヘッダーごとに0、1、または2つのサブヘッダーがあります。今、私はケトル/ペンタホのデータ統合を使用して、次の列でExcel出力を生成したいと思います。
header subheader1 subheader2
以下を試しました:「ヘッダー」のテーブル入力、Subheader1の「Subheaders」のテーブル入力、Subheader2の「Subheaders」のテーブル入力。 「データベースルックアップ」は不可能です。これにより、Subheader2のクエリでSubheader1を除外できないためです。
私の主な問題は、SQLステートメントのストリームフィールドを直接参照することはできませんが、代わりにフィールドの順序に依存する必要があることです。最初の質問マークは、最初のストリームフィールドなどで満たされます。
クエリ:「ヘッダー」テーブル:
SELECT id, header FROM headers
「サブヘッダー」テーブルの場合(2つのテーブル入力ステップが連続して):
SELECT subheader AS subheader1, ? AS header FROM subheaders WHERE headerId = ?
SELECT ? AS subheader1, subheader AS subheader2, ? AS header WHERE headerId = ? <- doesn't work as I don't have a reference to the header-ID anymore
この問題をうまく解決する方法はありますか?
アイデアをありがとう。
解決
テーブル入力に結合コンストラクトを使用して、この問題を解決しました。
所属していません StackOverflow