数据连接
您可以将数据连接以合并当前数据与另一个表,甚至与一个保存的问题。
点击“连接数据”按钮添加连接步骤后,您需要选择要连接的数据(来自同一数据库)。您只能选择与起始数据来自同一数据库的表和保存的问题。
接下来,您需要选择要连接的列。这意味着您从第一个表中选择一个列,从第二个表中选择一个列,连接将根据第一个列的值等于第二个列的值将行拼接在一起。一个非常常见的例子是在每个表中连接一个ID列,因此如果您选择了一个具有表之间外键关系的表来连接,Metabase将自动为您选择相应的ID列。在您的连接步骤结束时,有一个列
按钮,您可以点击以选择要从连接数据中包含哪些列。
默认情况下,Metabase将执行左外连接,但您可以通过点击维恩图图标来选择不同的连接类型。并非所有数据库都支持所有类型的连接,因此Metabase将只显示您所使用的数据库支持的选择。
以下是基本类型的连接
- 左外连接:选择表A的所有记录,以及满足连接条件的表B的记录(如果有)。
- 右外连接:选择表B的所有记录,以及满足连接条件的表A的记录(如果有)。
- 内连接:仅选择满足连接条件的表A和B的记录。
- 全外连接:选择两个表中的所有记录,无论是否满足连接条件。
左外连接示例:如果表A是订单,表B是客户,假设您在订单的customer_id
列等于客户的ID
列的情况下进行连接,当您执行左外连接时,您的结果将是一个所有订单的完整列表,并且每个订单行还将显示下订单的客户列。由于单个客户可以下多个订单,给定客户的详细信息可能会在不同的订单行中重复多次。如果没有相应客户,该订单的详细信息将显示,但客户列将为该行空白。
多个连接阶段
在许多情况下,您可能有表A、B和C,其中A和B有联系,B和C有联系,但A和C没有。如果您要将A连接到B再连接到C,您只需要添加多个连接步骤。点击“连接数据”,将表A连接到表B,然后点击下面完成连接块的“连接数据”步骤来添加第二个连接步骤,并将您最后连接的结果连接到表C。
基于多个条件连接
您的连接也可以包括多个条件以细化结果。Metabase将使用AND
运算符组合多个条件。
使用不同运算符进行连接
您可以使用比较条件如=
、≠
、>
、≥
、<
或≤
来连接表。