> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BigCommerce 查询配置

> 从 BigCommerce 检索数据并将其带入知行之桥。

Select 操作从 BigCommerce 检索数据并将其带入 知行之桥。

## 表和列

配置并测试连接后，点击**操作**选项卡。确保**操作**下拉列表设为 **Select**，然后点击**添加表结构**以定义表和列。

选择**结构类型**。结构类型决定端口如何查询 BigCommerce。可用类型包括：

<ul><li>[父表和子表](#父表和子表)：端口使用父子层次结构查询表。可以将其他表添加为子表，或在工作流中使用多个端口。</li>
<li>[联接表](#联接表)：端口发出一个 JOIN 查询，将两个或多个相关表的数据合并。</li></ul>

以下各节介绍这些结构类型。

> [!NOTE]
>
> “联接表”只向 BigCommerce 发出一个查询。对于实施 API 速率限制的数据源，这比“父表和子表”方式更高效。

### 父表和子表

使用下拉列表从 BigCommerce 中选择目标表。

![源结构编辑器中用于选择目标表的下拉列表](https://docs.kasoftware.com/26.4/images/dbsa_select_tableadd_263.png)

使用箭头向结构中添加子表。下图以 Bill 为父表，并准备选择一个子表。完成选择后，点击**应用**。

![表列表，其中 Bill 为父表，并准备选择子表](https://docs.kasoftware.com/26.4/images/dbsa_tablelist_263.png)

#### 结果

点击**应用**后，结果结构中会出现 **Items** 节点。要配置查询的列和过滤器，请点击表名节点上的省略号（**...**），然后选择**表设置**。

随后会打开**编辑 \[表名] 设置**对话框，其中包含**列**和**过滤器**两个选项卡。

![编辑表设置对话框，其中列选项卡显示源表标签](https://docs.kasoftware.com/26.4/images/dbsa_join_results.png)

**列**选项卡列出所选表中的所有列。每列都带有表示其源表的标签。默认选中所有列；取消选中某列可将其从查询输出中排除。

> [!NOTE]
>
> 可以点击**源**表名称链接返回**编辑源结构**窗格，以选择更多表。有关更多信息，请参阅[子表](https://docs.kasoftware.com/26.4/self-hosted/zh/connectors/bigcommerce/bigcommerce-ac.md#child-tables)。

在**列**选项卡底部，使用**排序依据**字段按列对输出排序，并选择 **ASC**（升序）或 **DESC**（降序）。

**过滤器**选项卡用于添加过滤器，以限制端口选择的行。有关更多信息，请参阅[过滤器](#过滤器)。

#### 选项

**编辑源结构**对话框右侧的**选项**面板包含控制端口如何处理记录的设置。这些设置与表设计器一起显示，并应用于整个查询。

<ul><li>**仅处理新增或更改的记录**：启用增量处理，使端口只选择自上次运行后新增或更改的行。</li>
<li>**处理行后以 \[值] 更新 \[列]**：每行处理完成后，以指定值更新某一列。</li></ul>

还可以在**编辑源结构**对话框顶部切换**预览 XML**或**代码视图**，以预览输出结构或查看底层 XML 配置。

### 联接表

选择**联接表**作为结构类型后，会显示 JOIN 设计器。使用该设计器定义 BigCommerce 中各表之间的关系。端口会将配置转换为一个 JOIN 查询。

![包含空联接行字段的 JOIN 设计器](https://docs.kasoftware.com/26.4/images/dbsa_join_designer.png)

JOIN 设计器中的每一行表示一个联接关系，并包含以下字段：

<ul><li>**联接类型**：要执行的 SQL 联接类型。可用选项取决于 BigCommerce 的支持情况，常见选项包括 **Inner Join**、**Left Join**、**Right Join** 和 **Full Outer Join**。</li>
<li>**左表**：联接左侧的表。第一行的左表是查询的基表。</li>
<li>**左列**：左表中用于联接的列。</li>
<li>**右表**：联接右侧的相关表。</li>
<li>**右列**：右表中与左列匹配的列。</li></ul>

以下示例通过共享的 **Id** 列将 **Bill** 表与 **Bill1** 表联接：

![Bill 和 Bill1 表通过 Id 列联接的 JOIN 设计器](https://docs.kasoftware.com/26.4/images/dbsa_join_addtable.png)

这会生成等效于以下内容的查询：

```sql theme={null}
SELECT ... FROM Bill INNER JOIN Bill1 ON Bill.Id = Bill1.Id
```

要联接两个以上的表，请点击**添加联接**再添加一行。每个新增行都会将一个新表联接到前一行的结果。

完成联接配置后，点击**应用**。

#### 结果

点击**应用**后，结果结构中会出现 **Results** 节点。要配置联接输出的列和过滤器，请点击 Results 节点上的省略号（**...**），然后选择**结果设置**。

随后会打开**编辑结果设置**对话框，其中包含**列**和**过滤器**两个选项卡。

![编辑结果设置对话框，其中列选项卡显示源表标签](https://docs.kasoftware.com/26.4/images/dbsa_join_results.png)

**列**选项卡列出所有联接表中的全部列。每列都带有表示其源表的标签。默认选中所有列；取消选中某列可将其从查询输出中排除。

> [!NOTE]
>
> 当两个联接表包含同名列时，端口会自动使用表名作为重复列的前缀，以避免冲突。

在**列**选项卡底部，使用**排序依据**字段按列对输出排序，并选择 **ASC**（升序）或 **DESC**（降序）。

**过滤器**选项卡用于添加过滤器，以限制端口选择的行。有关更多信息，请参阅[过滤器](#过滤器)。

#### 选项

**编辑源结构**对话框右侧的**选项**面板包含控制端口如何处理记录的设置。这些设置与 JOIN 设计器一起显示，并应用于整个联接查询。

<ul><li>**使用列 \[x] 处理新增或更改的记录**：启用增量处理，使端口只选择自上次运行后新增或更改的行。在“联接表”配置中，此列必须来自基表（最左侧的表）；联接表中的列不可用于此设置。</li>
<li>**处理行后以 \[值] 更新 \[列]**：每行处理完成后，以指定值更新某一列。</li></ul>

还可以在**编辑源结构**对话框顶部切换**预览 XML**或**代码视图**，以预览输出结构或查看底层 XML 配置。

## 过滤器

可以选择添加过滤器，以限制端口选择的数据。在设置对话框中点击**过滤器**选项卡进行配置。端口会将过滤器转换为查询语法。

> [!NOTE]
>
> 如果用例不需要，则无需对数据应用过滤器。

### 创建过滤器

按照以下步骤创建过滤器：

<ol><li>点击**添加过滤器**。</li>
<li>在列下拉列表中选择要过滤的列。</li>
<li>在条件下拉列表中选择过滤条件。可用条件取决于所选列的数据类型。例如，数值列支持**小于或等于**，而字符串列支持**包含**。</li>
<li>在值字段中输入值。如果条件不需要值（例如**为空**），则不会显示值字段。</li></ol>

下图展示了对 **Vendor** 列设置过滤器的示例。应用此过滤器后，端口仅选择 **Vendor** 列包含 **CData** 的行。

![Vendor 列配置为包含 CData 的过滤器](https://docs.kasoftware.com/26.4/images/dbsa_filter.png)

### 过滤器组

点击**添加过滤器**可创建多个过滤器。默认情况下，所有过滤器属于同一组。点击**添加组**可创建嵌套组，并使用不同逻辑分隔过滤器。

每个组的顶部都有以下选项：

<ul><li>**NOT** 开关：反转整个组的逻辑。例如，对包含“Amount 小于或等于 5000”的组启用 NOT，会让端口仅选择 Amount 大于 5000 的行。</li>
<li>**And / Or** 开关：确定该组与相邻过滤器或组之间的关系。
<ul><li>选择 **And** 时，除相邻条件外，该组条件也必须为真。</li>
<li>选择 **Or** 时，该组条件可作为相邻条件的替代项。</li></ul></li></ul>

下图展示了包含多个过滤器组的示例。

![显示 AND 和 OR 逻辑的多个过滤器组](https://docs.kasoftware.com/26.4/images/dbsa_filter_group.png)

在此示例中，必须同时满足以下所有条件：

<ul><li>**Vendor** 列包含 **CData**</li>
<li>**Status** 列等于 **Active** 或 **Pending**</li>
<li>**Amount** 列\_不\_小于或等于 **5000**（即 Amount 大于 5000）</li></ul>

满足过滤条件后，端口会选择匹配的数据，并将其传递到工作流下游。

\##知行之桥流程示例

为 Select 配置的 BigCommerce 端口选择表和列后，将端口放置在 知行之桥 工作流的开头。下面的屏幕截图描述了一个示例流程，其中包含一个 BigCommerce Select 端口、一个 XML Map 端口、一个 CSV 端口和一个 File 端口：

![](https://docs.kasoftware.com/26.4/images/dbsa_select_flow.png)

此示例工作流中的数据通过以下步骤：

<ol><li>**BigCommerce\_Select** 端口从 BigCommerce 连接中提取数据。</li>
<li>此数据作为 **源文件** 传递给 **XML\_Map** 端口，后者映射到 **源** 的树状结构中。</li>
<li>来自 **CSV1** 端口的数据作为 **目标文件** 传递给 **XML\_Map** 端口，后者映射到 **目标** 的树状结构。
![](https://docs.kasoftware.com/26.4/images/dbsa_xmlmap_select.png)</li>
<li>**XML\_Map** 端口尝试自动将 **源** 元素映射到具有相同名称的 **目标** 元素。你可以手动更改这些并通过将元素从 **源** 拖到 **目标** 来填充空白映射。
![](https://docs.kasoftware.com/26.4/images/dbsa_xmlmap_elements.png)</li>
<li>来自 **CSV1** 的文件已经用来自 **BigCommerce\_Select** 的数据进行了修改，然后向下传递来自 **CSV1** 的工作流。</li></ol>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.