通过连接获取行
使用“通过连接获取行”操作,可根据匹配的 SQL 连接子句,通过组合一个 (自身连接) 或多个表格中的列来检索行。
“通过连接获取行”操作不支持以下连接类型:
• 自然连接
• 交叉连接
|
在连接条件中,将等运算符与内连接配合使用可实现等值连接。
|
完成以下步骤,可在工作流中使用“通过连接获取行”操作:
1. 将
“SQL 连接器”下的
“通过连接获取行”操作拖动到工作区,并将指针置于该操作上,然后单击
或双击该操作。
“通过连接获取行”窗口随即打开。
2. 根据需要编辑“标签”。默认情况下,标签名称与操作名称相同。
3. 在“数据库”列表中,选择要连接的数据库类型:
◦ PostgreSQL
◦ SQL Server
◦ MySQL
◦ Oracle
如果先前已添加 SQL 连接器连接,请从列表中选择一个连接。
5. 在“表”组下,执行以下操作:
a. 在“表”列表中,选择相应的数据库表或视图。
b. 在“别名”字段中,输入表格的别名。此别名用于标识表格。此步骤是可选的。
| 必须至少选择 2 个表格。要添加 2 个以上的表格,请单击 “添加”。或者,单击 删除已添加的所有表格。 |
6. 在“限制”字段中,输入要检索的行数。一次最多可检索 5000 行。
7. 在“跳过”字段中,输入要从结果中跳过的顶行数。
8. 在“连接”组下的“左表”列表中,选择表格名称或别名。
9. 在“连接条件”组下,执行以下操作:
a. 在“连接类型”列表中,选择下列选项之一:
▪ “内连接”
▪ “左外连接”
▪ “全外连接”
▪ “右外连接”
b. 在“右表”列表中,选择表格名称或别名。
c. 在“左列”列表中,选择左侧要用于连接条件的列。
在映射的情况下,会为列名称附加表名称。例如,tablename.columnname。如果已指定别名,则会为列名称附加别名。例如:alias.columnname。
d. 在“运算符”列表中,选择相应的条件运算符。
e. 在“右列”列表中,选择右侧要用于连接条件的列。
在映射的情况下,会为列名称附加表名称/别名。例如,tablename.columnname。如果已指定别名,则会为列名称附加别名。例如:alias.columnname。
单击
“添加”以添加多个连接条件。或者,单击
删除已添加的任何连接条件。
10. 在“选择列”组下,单击“添加”,然后执行以下操作:
a. 在“列”字段中,选择要在结果中显示的列。
在映射的情况下,会为列名称附加表名称/别名。例如,tablename.columnname。如果已指定别名,则会为列名称附加别名。例如:alias.columnname。
单击
“添加”可添加多列。或者,单击
删除您已添加的任何列。
11. 在 Where 组的“子句连接符”列表中,选择下列选项之一:
◦ “与”-“属性”组下指定的所有条件都必须返回 true。
◦ “或”-“属性”组下指定的条件之一必须返回 true。
12. 在“属性”组下,单击“添加”,然后执行以下操作:
a. 在“属性”列表中,选择要筛选的列。
在映射的情况下,会为列名称附加表名称/别名。例如,tablename.columnname。如果已指定别名,则会为列名称附加别名。例如:alias.columnname。
b. 在“运算符”列表中,选择合适的条件运算符。
c. 在“值”字段中,输入用于筛选器的列值。
单击
“添加”可将多个属性添加到连接子句中。或者,单击
删除属性。
如果添加的属性相同,并在“子句连接符”列表中选择了“与”,则属性将以“或”运算符连接。
13. 在“顺序”组下,单击“添加”,然后执行以下操作:
a. 在“列名称”列表中,选择要作为结果排序依据的列。
在映射的情况下,会为列名称附加表名称/别名。例如,tablename.columnname。如果已指定别名,则会为列名称附加别名。例如:alias.columnname。
b. 在“顺序”列表中,选择“升序”或“降序”。
单击
“添加”以添加多个列对结果进行排序。或者,单击
删除已添加用以排序的列。
14. 单击“完成”。
输出架构
“通过连接获取行”操作的输出架构会返回多行。
如果已为表格指定别名,则输出架构会以 alias.columnname 格式返回行。如果尚未为表格指定别名,则输出架构会以 tablename.columnname 格式返回行。
下图显示了示例输出架构: