knime中的数据库查询节点

时间:2017-10-20 07:40:04

标签: database knime

我正在努力解决节点“数据库查询”。
它将默认查询显示为“SELECT * FROM#table#”

在输入查询时,它会将错误显示为“无效设置”数据库视图占位符#table#不得替换。

实际上 #table#代表什么?

Database Query节点如何执行?

请有人回复。

1 个答案:

答案 0 :(得分:2)

#table#表示传入数据库连接端口中的表。节点将此传入连接包装为子查询,例如,如果您连接到名为“Names”的表,其中包含“Surname”列,“Forename”列和“Age”列,并且您之前使用过要按Surname ='Smith'过滤的数据库行过滤器节点,则传入连接将类似于:

SELECT * FROM (SELECT * FROM Names) table_1234567890 WHERE "Surname"='Smith'

如果您想使用数据库查询节点搜索年龄在30-45岁之间的所有人John Smith,那么在您设置的节点对话框中

SELECT * FROM #table# WHERE Forename='John' AND Age BETWEEN 30 AND 45

现在,如果查看输出端口,在“连接”选项卡上,SQL将类似于:

SELECT * FROM (SELECT * FROM (SELECT * FROM Names) table_1234567890 WHERE "Surname"='Smith') WHERE Forename='John' AND Age BETWEEN 30 AND 45