1

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

header subheader1 subheader2

我尝试了以下方法:“标题”上的表格输入,子标题1的“子标题”上的表格输入,子标题2的“子标题”上的表格输入。“数据库查找”是不可能的,因为这不允许我在 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

任何想法,如何很好地解决这个问题?

感谢您的任何想法。

4

1 回答 1

0

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

于 2010-11-03T15:11:53.277 回答