将多个DB-resultrows放入一个流行

时间:2010-10-29 14:01:08

标签: pentaho kettle

我有一个数据库表,让我们称之为带有id的字符串和名为“header”的字符串字段。数据库中的另一个表称为subheaders,有两个字段headerId和String字段“subheader”。每个标题有0,1或2个子标题。我现在想使用Kettle / Pentaho数据集成来生成包含以下列的Excel输出:

header subheader1 subheader2

我尝试了以下方法:表格输入“标题”,表格输入“subheaders”表示subheader1,表格输入“subheaders”表示subheader2。 “数据库查找”是不可能的,因为这不允许我在subheader2的查询中排除subheader1。

我的主要问题是我无法直接引用SQL语句中的流字段,而是必须依赖字段的顺序。第一个问号用第一个流字段填充,依此类推。

查询: 对于“标题”表:

SELECT id, header FROM headers

对于“subheaders”表(连续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 :(得分:0)

我通过在表输入中使用JOIN构造解决了这个问题。