首頁 > 資料庫 > mysql教程 > 如何使用 SQL 查詢產生逗號分隔的清單?

如何使用 SQL 查詢產生逗號分隔的清單?

Linda Hamilton
發布: 2025-01-18 22:18:11
原創
515 人瀏覽過

How Can I Generate Comma-Separated Lists Using SQL Queries?

利用SQL查詢產生逗號分隔清單

資料庫操作中,常常需要產生逗號分隔的值清單。例如,您可能需要在使用者介面中顯示與特定資源關聯的所有應用程式清單。雖然可以遍歷每個資源,檢索應用程式並自行連接它們,但這方法效率低且耗時。

幸運的是,大多數SQL資料庫都提供內建的字串連接和聚合函數。以下是幾種常用SQL方言的實作方法:

MySQL

<code class="language-sql">SELECT r.name,
       GROUP_CONCAT(a.name SEPARATOR ',')
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name</code>
登入後複製

SQL Server (2005 )

<code class="language-sql">SELECT r.name,
       STUFF((SELECT ',' + a.name
               FROM APPLICATIONS a
               JOIN APPLICATIONRESOURCES ar ON ar.app_id = a.id
              WHERE ar.resource_id = r.id
           GROUP BY a.name
            FOR XML PATH(''), TYPE).value('text()[1]','NVARCHAR(max)'), 1, LEN(','), '')
 FROM RESOURCES r</code>
登入後複製

SQL Server (2017 )

<code class="language-sql">SELECT r.name,
       STRING_AGG(a.name, ',')
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name</code>
登入後複製

Oracle

Oracle提供多種字串連接和聚合選項,請熟悉您所使用版本的特定語法。

這些查詢有效地為每個資源產生逗號分隔的應用程式列表,使您可以透過單一查詢為GUI提供必要的資訊。

以上是如何使用 SQL 查詢產生逗號分隔的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板