首頁 >資料庫 >mysql教程 >如何在 MS Access 中根據分組列連接行?

如何在 MS Access 中根據分組列連接行?

Barbara Streisand
Barbara Streisand原創
2025-01-07 22:15:44914瀏覽

How Can I Concatenate Rows in MS Access Based on a Grouping Column?

在 MS Access 查詢中連接行

簡介

本文探討了在 Microsoft Access 中嘗試根據第一列連接表中第二列的值時遇到的挑戰。我們的目標是透過查詢實現此轉換。

問題

考慮一個包含以下資料的表格:

ColumnA ColumnB
1 abc
1 pqr
1 xyz
2 efg
2 hij
3 asd

我們的目標是將 ColumnB 中的值連接到 ColumnA 中每個唯一值的單一逗號分隔字串中。所需結果如下:

ColumnA ColumnB
1 abc, pqr, xyz
2 efg, hij
3 asd

為了實現此連接,我們使用名為「GetList」的自訂函數。此函數接受 SQL 查詢作為參數,並迭代查詢傳回的記錄集,將值連接到單一字串中。

以下是包含「GetList」函數的查詢:

<code class="language-sql">SELECT T.ColumnA, GetList("SELECT ColumnB FROM Table1 AS T1 WHERE T1.ColumnA = " & [T].[ColumnA],"",", ") AS ColumnBItems
FROM Table1 AS T
GROUP BY T.ColumnA;</code>

說明

  1. 外部查詢 (SELECT T.ColumnA) 檢索 ColumnA 中的唯一值。

  2. GetList 函數用於根據 ColumnA 的當前值連接 ColumnB 中的值。 GetList 函數的參數為:

    • 子查詢:SELECT ColumnB FROM Table1 AS T1 WHERE T1.ColumnA = " & [T].[ColumnA]
    • 初始值:""(空字串)
    • 連接分隔符號:", "(逗號和空格)
  3. GROUP BY 子句按 ColumnA 將記錄分組,以確保連接的值正確分組。

以上是如何在 MS Access 中根據分組列連接行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn