# Join

join 前置詞能夠將載入的表格與現有的具名表格或先前最後建立的資料表聯結。

聯結資料的效果是透過一組額外的欄位或屬性 (即目標表格中尚未存在的欄位或屬性) 來擴充目標表格。來源資料集與目標表格之間任何共同的欄位名稱，都會用來計算如何關聯新傳入的記錄。這通常稱為「自然聯結」。Qlik 聯結作業可能會導致產生的目標表格擁有比開始時更多或更少的記錄，這取決於聯結關聯的唯一性以及所採用的聯結類型。

[Join script prefix](https://play.vidyard.com/7xrdzssVH99Jsr8gmPunCC)

## 聯結類型

有四種聯結類型：

* Left join

* Inner join

* Outer join

* Right join

來自不同類型聯結作業的範例結果集

來自不同類型聯結作業的範例結果集

來自不同類型聯結作業的範例結果集 ![來自不同類型聯結作業的範例結果集，包含每次作業後資料表格的修改前後表示。輸入包含目標表格和傳入的資料集。目標表格有兩個欄，包含 'Trade ID' 和 'Asset Class' 欄位的兩個列項目。傳入資料有兩個欄，包含 'Trade ID' 和 'Exchange' 欄位的兩個列項目。Left Join 保留初始目標表格，並新增第三個欄，除了新增其中一個 'Exchange' 列項目外，其餘皆為空白。Inner Join 建立一個包含一個 Trade ID 列和第三個欄的表格，同樣用於 'Exchange' 列項目。Outer Join 保留目標表格並新增第三個欄，以及將傳入資料集的第二列附加到第三列。Right Join 移除目標表格的第二列項目，並將其替換為傳入資料集第二列項目的資訊，在此過程中新增第三個欄。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-join-examples-operations.png)

### Left join

Left join 是最常見的聯結類型。例如，如果您有一個交易資料集，並希望將其與參考資料集結合，您通常會使用 `Left Join`。您會先載入交易表格，然後載入參考資料集，同時透過 `Left Join` 前置詞將其聯結至已載入的交易表格上。`Left Join` 會保持所有交易不變，並在找到相符項目時加上補充的參考資料欄位。

Left join

Left join

Left join ![高階概述在 left join 期間發生的資料組合圖表。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_left.png)

### Inner join

當您有兩個資料集，且只關心有相符關聯的任何結果時，請考慮使用 `Inner Join`。如果找不到相符項目，這將會從載入的來源資料和目標表格中消除所有記錄。因此，這可能會讓您的目標表格記錄比聯結作業發生前更少。

Inner join

Inner join

Inner join ![高階概述在 inner join 期間發生的資料組合圖表。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_inner.png)

### Outer join (預設)

當您需要同時保留目標記錄和所有傳入記錄時，請使用 `Outer Join`。在找不到相符項目的情況下，每組記錄仍會保留，而聯結另一側的欄位將保持未填入 (null)。

如果省略類型關鍵字，預設的聯結類型為 outer join。

Outer join

Outer join

Outer join ![高階概述在 outer join 期間發生的資料組合圖表。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_outer.png)

### Right join

此聯結類型會保留所有即將載入的記錄，同時將聯結目標表格中的記錄減少為僅在傳入記錄中有相符關聯的記錄。這是一種利基聯結類型，有時用作將已預先載入的記錄表格縮減為所需子集的方法。

Right join

Right join

Right join ![高階概述在 right join 期間發生的資料組合圖表。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/join-types-scripting_right.png)

### Cross join

資訊備註如果聯結作業的來源和目標之間沒有共同的欄位名稱，聯結將會產生所有列的笛卡兒積 – 這稱為「cross join」。

來自「cross join」作業的範例結果集

來自「cross join」作業的範例結果集

來自「cross join」作業的範例結果集 ![cross join 作業 (可能涉及任何類型的聯結作業) 後輸入資料與輸出的修改前後比較。輸入為目標表格和傳入的資料集。目標表格包含三個欄，有兩個列項目。欄位為 'Trade ID'、'Base Currency' 和 'Amount'。傳入資料集有兩個欄 ('Trade Currency' 和 'Rate') 和兩個列項目。產生的表格有五個欄，分別為 'Trade ID'、'Base Currency'、'Amount'、'Target Currency' 和 'Rate'。有四個列項目，結合了所有資料。每個 'Trade ID' 項目有兩列，在其他欄位中有不同的資料。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-examples-join-no-common-fields.png)

## 語法和引數

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

引數

| 引數 | 描述 |
| --- | --- |
| tablename | 要與所載入表格比較的具名表格。 |
| loadstatement或 selectstatement | 已載入表格的 LOAD 或 SELECT 陳述式。 |

## 相關主題

這些主題可協助您使用此函數：

相關主題

| 主題 | 說明 |
| --- | --- |
| [使用 Join 與 Keep 來合併表格](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm) | 此主題提供「聯結」和「保留」資料集概念的進一步說明。 |
| [Keep](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm) | `Keep` 載入前置詞類似於 `Join` 前置詞，但它不會結合來源和目標資料集。相反地，它會根據採用的作業類型 (inner、outer、left 或 right) 縮減每個資料集。 |

## 載入指令碼範例 - Left join

Left join 會保留主 (目標) 表格中的所有記錄，並從第二個 (來源) 表格新增相符的資料。如果來源中沒有相符項目，主表格的記錄仍會出現，但來源表格的欄位會是空白的。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join：基本範例

將範例指令碼新增至您的應用程式並予以執行。若要查看結果，將結果資料行中列出的欄位新增至您應用程式中的工作表。

載入指令碼

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Left Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ]; 
```

如需有關使用內嵌載入的詳細資訊，請參閱 [使用內嵌載入以載入資料](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

結果

產生的表格

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |

此範例示範 Left Join 輸出，其中僅聯結存在於第一個 (左) 表格中的值。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join 範例：使用客戶資訊豐富訂單

概觀

假設您有一份訂單清單，但並非所有訂單都有相符的客戶記錄。

載入指令碼

```
Orders:
Load * inline [
OrderID, CustomerID, Amount
1, 101, 200
2, 102, 150
3, 104, 400
];

Customers:
Left Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

結果

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的表格預覽

| OrderID | CustomerID | Amount | Name |
| --- | --- | --- | --- |
| 1 | 101 | 200 | Alice |
| 2 | 102 | 150 | Bob |
| 3 | 104 | 400 | - |

OrderID 1 和 2 有相符的客戶。 OrderID 3 沒有相符的客戶，因此 Name 為空白。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Left join 範例：使用參考資料集豐富目標表格

概觀

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 代表變更記錄的資料集，載入名為 `Changes` 的表格中。它包含 Status ID 索引鍵欄位。

* 代表變更狀態的第二個資料集，透過使用 left `Join` 載入前置詞將其聯結，以載入並與原始變更記錄結合。

此 left join 可確保變更記錄保持不變，同時在根據共同的 Status ID 找到傳入狀態記錄中的相符項目時，加上狀態屬性。

載入指令碼

```
Changes:
Load * inline [ 
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact 
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

Status:
Left Join (Changes)
Load * inline [
Status ID	Status	Sub Status
1	Open	Not Started
2	Open	Started
3	Closed	Completed
4	Closed	Cancelled
5	Closed	Obsolete			
] (delimiter is '\t');
```

結果

開啟資料模型檢視器並注意資料模型的形狀。只存在一個反正規化表格。它是所有原始變更記錄的組合，並將相符的狀態屬性聯結至每個變更記錄上。

產生的內部資料模型

| Changes |
| --- |
| Change ID |
| Status ID |
| Scheduled Start Date |
| Scheduled End Date |
| Business Impact |
| Status |
| Sub Status |

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的 Changes 表格預覽

| Change ID | Status ID | Scheduled Start Date | Scheduled End Date | Business Impact | Status | Sub Status |
| --- | --- | --- | --- | --- | --- | --- |
| 10030 | 4 | 19/01/2022 | 23/02/2022 | None | Closed | Cancelled |
| 10031 | 3 | 20/01/2022 | 25/03/2022 | Low | Closed | Completed |
| 10015 | 3 | 04/01/2022 | 15/02/2022 | Low | Closed | Completed |
| 10103 | 1 | 02/04/2022 | 29/05/2022 | Medium | Open | Not Started |
| 10116 | 1 | 15/04/2022 | 24/04/2022 | None | Open | Not Started |
| 10134 | 1 | 03/05/2022 | 08/07/2022 | Low | Open | Not Started |
| 10264 | 1 | 10/09/2022 | 17/10/2022 | Medium | Open | Not Started |
| 10040 | 1 | 29/01/2022 | 22/04/2022 | None | Open | Not Started |
| 10323 | 1 | 08/11/2022 | 26/11/2022 | High | Open | Not Started |
| 10187 | 2 | 25/06/2022 | 24/08/2022 | Low | Open | Started |
| 10185 | 2 | 23/06/2022 | 08/09/2022 | None | Open | Started |
| 10220 | 2 | 28/07/2022 | 06/09/2022 | None | Open | Started |
| 10326 | 2 | 11/11/2022 | 05/12/2022 | None | Open | Started |
| 10138 | 2 | 07/05/2022 | 03/08/2022 | None | Open | Started |
| 10334 | 2 | 19/11/2022 | 06/02/2023 | Low | Open | Started |

由於 Status 表格中的第五列 (Status ID：'5'，Status：'Closed'，Sub Status：'Obsolete') 不對應於 Changes 表格中的任何記錄，因此此列中的資訊不會出現在上述結果集中。

返回資料載入編輯器。載入資料並開啟工作表。建立新的表格並將此欄位新增為維度： `Status`。

新增此量值：

`=Count([Change ID])`

現在您可以依 Status 檢查 Changes 的數量。

結果表格

| Status | =Count([Change ID]) |
| --- | --- |
| Open | 12 |
| Closed | 3 |

## 載入指令碼範例 - Inner join

Inner join 僅保留存在於兩個表格中的記錄 (根據相符的欄位值)。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join：基本範例

載入指令碼

將範例指令碼新增至您的應用程式並予以執行。若要查看結果，將結果資料行中列出的欄位新增至您應用程式中的工作表。

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Inner Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ];
```

如需有關使用內嵌載入的詳細資訊，請參閱 [使用內嵌載入以載入資料](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

結果

產生的表格

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |

此範例示範 Inner Join 輸出，其中僅聯結同時存在於第一個 (左) 和第二個 (右) 表格中的值。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join 範例：將訂單縮減為僅限已出貨

概觀

您有訂單和已出貨訂單的清單。您只想要已出貨的訂單。

載入指令碼

```
Orders:
Load * inline [
OrderID, Amount
1, 200
2, 150
3, 400
];

Shipped:
Inner Join (Orders)
Load * inline [
OrderID, ShipDate
2, 2022-05-01
3, 2022-05-02
4, 2022-05-03
];
```

結果

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的表格預覽

| OrderID | Amount | ShipDate |
| --- | --- | --- |
| 2 | 150 | 2022-05-01 |
| 3 | 400 | 2022-05-02 |

只有 OrderID 2 和 3 出現，因為它們存在於兩個表格中。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Inner join 範例：僅結合相符的記錄

概觀

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 代表變更記錄的資料集，載入名為 Changes 的表格中。

* 代表源自來源系統 JIRA 之變更記錄的第二個資料集。透過使用 Inner Join 載入前置詞將其聯結，以載入並與原始記錄結合。

此 Inner Join 可確保僅保留在兩個資料集中都找到的五個變更記錄。

載入指令碼

```
Changes:
Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

JIRA_changes:
Inner Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10000	JIRA					
10030	JIRA
10323	JIRA
10134	JIRA
10334	JIRA
10220	JIRA
20000	TFS
] (delimiter is '\t');
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* Source System

* Change ID

* Business Impact

現在您可以檢查五個產生的記錄。來自 Inner Join 的結果表格將僅包含在兩個資料集中具有相符資訊的記錄。

結果表格

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| JIRA | 10030 | None |
| JIRA | 10134 | Low |
| JIRA | 10220 | None |
| JIRA | 10323 | High |
| JIRA | 10334 | Low |

## 載入指令碼範例 - Outer join

Outer join 會保留兩個表格中的所有記錄。在沒有相符項目的情況下，欄位會留白。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join：基本範例

載入指令碼

將範例指令碼新增至您的應用程式並予以執行。若要查看結果，將結果資料行中列出的欄位新增至您應用程式中的工作表。

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Outer Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ]; 
```

如需有關使用內嵌載入的詳細資訊，請參閱 [使用內嵌載入以載入資料](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

結果

產生的表格

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |
| 4 | - | yy |

在此範例中，兩個表格 Table1 和 Table2 會合併為標記為 Table1 的單一表格。在這種情況下，通常會使用 outer 前置詞將多個表格聯結為單一表格，以對單一表格的值執行彙總。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join：建立所有客戶和訂單的完整清單

概觀

您想要所有客戶和訂單的完整清單，即使某些客戶沒有訂單，且某些訂單沒有客戶記錄。

載入指令碼

```
Orders:
Load * inline [
OrderID, CustomerID
1, 101
2, 102
3, 104
];

Customers:
Outer Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

結果

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的表格預覽

| OrderID | CustomerID | Name |
| --- | --- | --- |
| 1 | 101 | Alice |
| 2 | 102 | Bob |
| 3 | 104 | - |
| - | 103 | Carol |

OrderID 3 沒有相符的客戶 (Name 為空白)。

CustomerID 103 (Carol) 沒有相符的訂單 (OrderID 為空白)。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Outer join：結合重疊的記錄集

概觀

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 代表變更記錄的資料集，載入名為 Changes 的表格中。

* 代表源自來源系統 JIRA 之變更記錄的第二個資料集，透過使用 Outer Join 載入前置詞將其聯結，以載入並與原始記錄結合。

這可確保保留兩個資料集中所有重疊的變更記錄。

載入指令碼

```
// 8 Change records

Changes:
Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
] (delimiter is '\t');

// 6 Change records

JIRA_changes:
Outer Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10030	JIRA
10323	JIRA
10134	JIRA
10334	JIRA
10220	JIRA
10597	JIRA
] (delimiter is '\t');
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* Source System

* Change ID

* Business Impact

現在您可以檢查 10 個產生的記錄。

結果表格

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| JIRA | 10030 | None |
| JIRA | 10134 | Low |
| JIRA | 10220 | None |
| JIRA | 10323 | - |
| JIRA | 10334 | Low |
| JIRA | 10597 | - |
| - | 10015 | Low |
| - | 10031 | Low |
| - | 10040 | None |
| - | 10138 | None |

## 載入指令碼範例 - Right join

Right join 會保留來源表格中的所有記錄，並從目標表格新增相符的資訊。如果目標表格沒有相符項目，其欄位會是空白的。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join：基本範例

載入指令碼

將範例指令碼新增至您的應用程式並予以執行。若要查看結果，將結果資料行中列出的欄位新增至您應用程式中的工作表。

```
Table1:
Load * inline [
Column1, Column2
A, B
1, aa
2, cc
3, ee ];

Table2:
Right Join Load * inline [
Column1, Column3
A, C
1, xx
4, yy ];
```

如需有關使用內嵌載入的詳細資訊，請參閱 [使用內嵌載入以載入資料](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

結果

產生的表格

| Column1 | Column2 | Column3 |
| --- | --- | --- |
| A | B | C |
| 1 | aa | xx |
| 4 | - | yy |

此範例示範 Right Join 輸出，其中僅聯結存在於第二個 (右) 表格中的值。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join 範例：結合所有客戶與相符的訂單

概觀

您的來源表格是客戶清單；您想要所有客戶，加上任何相符的訂單。

載入指令碼

```
Orders:
Load * inline [
OrderID, CustomerID
1, 101
2, 102
3, 104
];

Customers:
Right Join (Orders)
Load * inline [
CustomerID, Name
101, Alice
102, Bob
103, Carol
];
```

結果

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的表格預覽

| CustomerID | Name | OrderID |
| --- | --- | --- |
| 101 | Alice | 1 |
| 102 | Bob | 2 |
| 103 | Carol | - |

所有客戶都會出現。 Carol 沒有訂單 (OrderID 為空白)。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### Right join 範例：透過次要主要資料集縮減目標表格

概觀

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 代表變更記錄的資料集，載入名為 Changes 的表格中。

* 代表源自來源系統 Teamwork 之變更記錄的第二個資料集。透過使用 Right Join 載入前置詞將其聯結，以載入並與原始記錄結合。

這可確保僅保留 Teamwork 變更記錄，同時如果目標表格沒有相符的 Change ID，也不會遺失任何 Teamwork 記錄。

載入指令碼

```
Changes:

Load * inline [
Change ID	Status ID	Scheduled Start Date	Scheduled End Date	Business Impact
10030	4	19/01/2022	23/02/2022	None
10015	3	04/01/2022	15/02/2022	Low
10103	1	02/04/2022	29/05/2022	Medium
10185	2	23/06/2022	08/09/2022	None
10323	1	08/11/2022	26/11/2022	High
10326	2	11/11/2022	05/12/2022	None
10138	2	07/05/2022	03/08/2022	None
10031	3	20/01/2022	25/03/2022	Low
10040	1	29/01/2022	22/04/2022	None
10134	1	03/05/2022	08/07/2022	Low
10334	2	19/11/2022	06/02/2023	Low
10220	2	28/07/2022	06/09/2022	None
10264	1	10/09/2022	17/10/2022	Medium
10116	1	15/04/2022	24/04/2022	None
10187	2	25/06/2022	24/08/2022	Low
] (delimiter is '\t');

Teamwork_changes:
Right Join (Changes)
Load
  [Ticket ID] AS [Change ID],
  [Source System]
inline
[
Ticket ID	Source System
10040	Teamwork
10015	Teamwork
10103	Teamwork
10031	Teamwork
50231	Teamwork
] (delimiter is '\t');
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* Source System

* Change ID

* Business Impact

現在您可以檢查五個產生的記錄。

結果表格

| Source System | Change ID | Business Impact |
| --- | --- | --- |
| Teamwork | 10015 | Low |
| Teamwork | 10031 | Low |
| Teamwork | 10040 | None |
| Teamwork | 10103 | Medium |
| Teamwork | 50231 | - |

## 疑難排解 - Cross join

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)

#### 疑難排解載入指令碼範例：沒有共同的欄位名稱

概觀

如果您聯結兩個沒有相符欄位名稱的表格，第一個表格中的每一列將會與第二個表格中的每一列結合 — 可能會產生大量的記錄 (笛卡兒積)，並導致非預期的資料關聯。

載入指令碼

```
TableA:
Load * inline [
A_ID, ValueA
1, foo
2, bar
];

TableB:
Join (TableA)
Load * inline [
B_ID, ValueB
10, baz
11, qux
];
```

結果

如果您在資料模型檢視器中展開預覽視窗，您將會看到組織成表格的完整結果集的一部分：

資料模型檢視器中的表格預覽

| A\_ID | ValueA | B\_ID | ValueB |
| --- | --- | --- | --- |
| 1 | foo | 10 | baz |
| 1 | foo | 11 | qux |
| 2 | bar | 10 | baz |
| 2 | bar | 11 | qux |

每個 A\_ID 都與每個 B\_ID 配對 (共 4 列)。

提示備註在執行聯結之前，請務必檢查您的欄位名稱是否如預期般相符。

[Load](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

[Select](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)

[Inner](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Inner.htm)

[Outer](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Outer.htm)

[Left](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Left.htm)

[Right](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Right.htm)

[Keep](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Keep.htm)

[使用 Join 與 Keep 來合併表格](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm)