在 MS Access 查詢中將多行合併為一個值
本指南示範了兩種基於共用欄位在 MS Access 查詢中將多行連接成單一值的方法。 這些方法使用自訂函數或內建聚合函數。
方法一:使用自訂函數(GetList)
此方法需要建立 VBA 函數。 然後查詢呼叫此函數來執行串聯。
這是查詢結構:
<code class="language-sql">SELECT ColumnA, GetList("SELECT ColumnB FROM Table1 WHERE ColumnA = " & [ColumnA], "", ", ") AS ColumnB FROM Table1 GROUP BY ColumnA;</code>
GetList
函數(在 VBA 模組中定義)迭代共享相同 ColumnA
值的行,並使用逗號作為分隔符號連接它們對應的 ColumnB
值。 您可以輕鬆變更此分隔符號。
方法二:使用內建列表聚合函數
此方法利用內建的 List
函數來實作更簡單、無程式碼的解決方案。
查詢是:
<code class="language-sql">SELECT ColumnA, List(ColumnB) AS ColumnB FROM Table1 GROUP BY ColumnA;</code>
List
函數會自動連接每個唯一 ColumnB
值的 ColumnA
值。 請注意,List
使用的分隔符號可能會因您的存取設定而異。
說明性資料與結果
考慮這個範例資料:
ColumnA | ColumnB |
---|---|
1 | abc |
1 | pqr |
1 | xyz |
2 | efg |
2 | hij |
3 | asd |
兩種方法都會產生以下結果:
ColumnA | ColumnB |
---|---|
1 | abc, pqr, xyz |
2 | efg, hij |
3 | asd |
自訂分隔符號
調整 GetList
函數參數內的分隔符號(方法 1)或可能透過區域設定(方法 2)來使用不同的分隔符號(例如分號、空格)。
以上是如何在 MS Access 查詢中將多行連接成單一值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!