Помещение нескольких DB-результатов в одну строку потока - PullRequest
1 голос
/ 29 октября 2010

У меня есть таблица базы данных, давайте назовем ее заголовками с идентификатором и полем String, называемым «заголовок». Другая таблица в базе данных, называемая подзаголовками, имеет два поля: headerId и поле String «подзаголовок». В заголовке 0, 1 или 2 подзаголовка. Теперь я хочу использовать интеграцию данных Kettle / Pentaho для создания выходных данных Excel со следующими столбцами:

header subheader1 subheader2

Я пробовал следующее: ввод таблицы в «заголовки», ввод таблицы в «подзаголовки» для подзаголовка1, ввод таблицы в «подзаголовки» для подзаголовка2. «Поиск в базе данных» невозможен, так как это не позволяет мне исключить подзаголовок1 в запросе подзаголовка2.

Моя основная проблема заключается в том, что я не могу напрямую ссылаться на поля потока в операторе 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

Есть идеи, как решить эту проблему?

Спасибо за любые идеи.

1 Ответ

0 голосов
/ 03 ноября 2010

Я решил эту проблему с помощью конструкции JOIN в табличном вводе.

...