如何在Talend中使用一个输入查询多个表?

时间:2013-08-05 18:51:47

标签: sql database db2 etl talend

对于一个简化的例子,我有一个DB2Input - > tMap - > DB2Output。在DB2Input中,我编写了一个从两个表中获取数据的查询。

我收到警告:参数(查询):架构与查询不同。

我只需要指定其中一个表吗?感谢。

更新:

嗯,我想我明白了。单击“编辑架构”按钮并手动放入查询选择的列。

3 个答案:

答案 0 :(得分:2)

这是我在这些情况下倾向于做的事情(只查询两个表):

DB2Input --------
                -
               tMap ------- DB2Output
                -
DB2Input --------

换句话说:

但是,当您已经有一个复杂的查询时,您可以使用一个输入组件,就像您在编辑中提到的一样。

在这种情况下,您可以按“猜测查询”按钮,Talend可以成功检测结果模式。为此,您需要选择“内置”架构选项。

答案 1 :(得分:1)

我认为我们首先通过在数据库中编写复杂查询来创建视图,然后在talend组件中使用该视图作为表来避免在talend中创建多个输入和连接:)

答案 2 :(得分:0)

如果您有非存储库查询(手动输入/调整/等等)并且您得到“架构与查询不同”警告,则可以使用“猜测架构”按钮。如果系统正常运行,它应该查看查询中的字段,并为您提供输出模式以匹配它们。如果系统不理解字段类型,则可能需要调整字段类型。

我使用它(编写我自己的输入SELECT查询)来控制来自一个数据库的输入,基于另一个数据库中的记录......