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

# CData Select

> Retrieve data from CData and bring it into Arc.

export const DbasaSelectExampleFlow = ({datasource = "the data source", selectXmlFlow = "dbsa_select_flow.png", siteNameShort = "Arc"}) => <>
    <p>After you choose the tables and columns for the Select-configured {datasource} connector, place the connector at the beginning of an {siteNameShort} flow. The screenshot below depicts an example flow with a {datasource} Select connector, an XML Map connector, a CSV connector, and a File connector at the end:</p>

    <img src={`/public/images/${selectXmlFlow}`} width="900" />

    <p>Data in this example flow passes through these steps:</p>

    <ol>
      <li>The <strong>{datasource}_Select</strong> connector pulls data from a {datasource} connection.</li>
      <li>This data passes to the <strong>XML_Map</strong> connector as the <strong>Source File</strong>, which maps to the <strong>Source</strong> tree.</li>
      <li>Data from the <strong>CSV1</strong> connector passes to the <strong>XML_Map</strong> connector as the <strong>Destination File</strong>, which maps to the <strong>Destination</strong> tree.
        <img src="/public/images/dbsa_xmlmap_select.png" width="800" />
      </li>
      <li>The <strong>XML_Map</strong> connector attempts to automatically map <strong>Source</strong> elements to <strong>Destination</strong> elements with the same name. You can manually change these and fill in blank mappings by dragging elements from <strong>Source</strong> to <strong>Destination</strong>.
        <img src="/public/images/dbsa_xmlmap_elements.png" width="800" />
      </li>
      <li>The file from <strong>CSV1</strong> that has been modified with data from <strong>{datasource}_Select</strong> then passes down the flow from <strong>CSV1</strong>.</li>
    </ol>
  </>;

export const DbasaSelectIntro = ({datasource = "the data source", siteName = "CData Arc"}) => <p>The Select action retrieves data from {datasource} and brings it into {siteName}.</p>;

{/* Note: CData connector is deprecated and uses the pre-v26.3 UI. Content is inlined rather than imported from the shared snippet to avoid rendering broken context from the rewritten exports. */}

<DbasaSelectIntro datasource="CData" />

## Tables and Columns

If you choose Select for the CData connector, you must select a target table (or tables) from CData. Click the **Add** button above the **Tables** pane.

<img src="https://mintcdn.com/cdata-arc/-adMVRA2NGLWRgFp/public/images/dbsa_select_tableadd.png?fit=max&auto=format&n=-adMVRA2NGLWRgFp&q=85&s=dfdfd8fb5c6e21e108b2e7773669cbc1" alt="Add button above the Tables pane" width="250" data-path="public/images/dbsa_select_tableadd.png" />

A modal appears and lists all available tables. Select the desired table and click **Add**.

<img src="https://mintcdn.com/cdata-arc/-adMVRA2NGLWRgFp/public/images/dbsa_tablelist.png?fit=max&auto=format&n=-adMVRA2NGLWRgFp&q=85&s=c6c8f32147a8b4a292cb8e4bef29601c" alt="Modal listing available tables to select from" width="500" data-path="public/images/dbsa_tablelist.png" />

The chosen table appears under the **Tables** pane, and the columns in the table appear under the **Columns** pane. The connector automatically detects values that have special relevance (such as the primary key, foreign keys, and similar) and labels them accordingly.

<img src="https://mintcdn.com/cdata-arc/-adMVRA2NGLWRgFp/public/images/dbsa_select_columns.png?fit=max&auto=format&n=-adMVRA2NGLWRgFp&q=85&s=5e67e1966d00ae6881381f4cd199fae4" alt="Tables pane showing the selected table and Columns pane with all columns listed" width="800" data-path="public/images/dbsa_select_columns.png" />

By default, all columns are selected for inclusion in the action for the CData connector. Exclude individual columns by unchecking them.

<Note>You can select more tables by clicking **Add** and repeating this process. See [Child Tables](/26.3/cloud/en/connectors/cdata/cdata-ac#child-tables) for more information.</Note>

### Selecting from Multiple Tables

The CData connector supports Selecting multiple tables with a single action. You can accomplish this in two ways:

* Assign extra tables as children of a parent table. See [Child Tables](/26.3/cloud/en/connectors/cdata/cdata-ac#child-tables) for more information.
* Create multiple Select-configured CData connectors, assign each of them a different table, and connect them all to the same connector in the flow.

You can assign separate queries to each child table or individual CData connector as needed. See [Filters](#filters) for more information.

## Filters

After you select a table, you can optionally use the **Filter** pane to filter the data that the connector selects. The connector translates your filter rules into query syntax, and the syntax appears in the **Query** pane at the bottom of the connector configuration page.

<Note>You do not need to apply a filter to your data if it does not suit your use case.</Note>

### Creating a Filter Rule

To create a filter rule, follow these steps:

1. Click **Add rule**.
2. In the drop-down list for the new rule, choose the column that you want to filter.
3. Two new fields appear. In the new drop-down list, choose the filtering condition.
   * The available filtering conditions depend on the data type for the column you select. For example, a `long` data type has the condition **Greater Than**, whereas a `string` data type does not.
4. If your filtering condition requires a value, enter that value in the blank value field. If your filtering condition does not require a value (for example, if you choose **Is Null**), the value field disappears.
5. When your filter rule is complete, its background changes from red to white.

The image below shows an example of a filter rule on a column named **Author**. With this filter rule in place, the connector only selects values in the **Author** column that contain **Smith**.

<img src="https://mintcdn.com/cdata-arc/-adMVRA2NGLWRgFp/public/images/dbsa_filter_single.png?fit=max&auto=format&n=-adMVRA2NGLWRgFp&q=85&s=3ad2beb7aa87757772f4b9da661a1de8" alt="Filter rule on the Author column with Contains Smith condition" width="600" data-path="public/images/dbsa_filter_single.png" />

### Filter Groups

You can apply multiple filter rules to your connector by clicking **Add rule** and creating more rules. Filter rules are separated by groups, and all filters belong to the same group by default. You can create multiple groups to separate filter rules by clicking **Add group**.

Each filter rule in a group interacts with the others based on the options you select at the top of the group:

* Check the **NOT** box to invert the filter conditions. For example, in the **Author** filter shown above, checking the **NOT** box instructs the connector to select Author values that do *not* contain **Smith**.
* Select either **AND** or **OR** to determine the group logic for multiple filters.
  * If you select **AND**, every filter rule in the group must be true for the filter conditions to be met.
  * If you select **OR**, at least one filter rule in the group must be true for the filter conditions to be met.

Filter groups have simple parent/child relationships. Each filter rule and filter group that belongs to a parent group exists as a single entity for the filter logic. The screenshot below shows multiple filter groups.

<img src="https://mintcdn.com/cdata-arc/-adMVRA2NGLWRgFp/public/images/dbsa_filter_multiple.png?fit=max&auto=format&n=-adMVRA2NGLWRgFp&q=85&s=9cceaed58576bc7616b29a4a6095c98b" alt="Multiple filter groups with OR logic at the parent level" width="600" data-path="public/images/dbsa_filter_multiple.png" />

In this example, the parent group is using **OR** logic. This means that if *any* of the following statements is true, the filter condition is met:

* The **Author** column contains the value **Smith**
* The **Id** column equals **1** or **2**
* The **Title** column contains the value **Kitchen** and the **UpdatedAt** column is greater than **400**

If this filter condition is met, the connector Selects the data that meets the condition and passes it down the flow.

## Advanced Settings

In the **Advanced** section, you can configure settings for using specific columns for processing records and updating columns with specific values when rows are processed successfully. These settings are useful for maintaining and tracking changes in your flow.

## Example Arc Flow

<DbasaSelectExampleFlow datasource="CData" selectXmlFlow="cdata_xmlflow_select.png" />
