首頁 > 資料庫 > mysql教程 > 如何在 SQL 中根據匹配 ID 連線標籤?

如何在 SQL 中根據匹配 ID 連線標籤?

Patricia Arquette
發布: 2024-12-30 22:06:15
原創
720 人瀏覽過

How Can I Concatenate Labels Based on Matching IDs in SQL?

基於ID 連接值

要解決所提供的組合具有相同ID 的多行並連接相應標籤的任務,請使用以下標籤SQL查詢:

declare @T table(Response_ID int, Label varchar(50))
insert into @T values
(12147,          'It was not clear'),
(12458,          'Did not Undersstand'),
(12458,          'Was not resolved'),
(12458,          'Did not communicate'),
(12586,          'Spoke too fast'),
(12587,          'Too slow')

select T1.Response_ID,
       stuff((select ','+T2.Label
              from @T as T2
              where T1.Response_ID = T2.Response_ID
              for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as Label
from @T as T1
group by T1.Response_ID
登入後複製

在查詢:

  • @T 表示包含 Response_ID 和 Label 欄位的輸入表。
  • 將資料插入 @T 中作為查詢的起點。
  • 第一個子查詢檢索每個 Response_ID 的標籤值並用逗號將它們連接起來。 FOR XML 子句產生 XML 字串,然後使用 VALUE('','VARCHAR(MAX)') 運算式將其轉換為單一字串。
  • 外部查詢會依照 Response_ID 分組並使用 STUFF () 將組合的標籤值與 Response_ID 連接起來。
  • 最後,它顯示每個唯一的連接值Response_ID。

以上是如何在 SQL 中根據匹配 ID 連線標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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