久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

將單列連接成逗號分隔的列表

Concatenate a single column into a comma delimited list(將單列連接成逗號分隔的列表)
本文介紹了將單列連接成逗號分隔的列表的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我見過多個示例,人們將單列匯總為逗號分隔的列表,但我還需要更多.

I've seen multiple examples of people rolling up a single column into a comma delimited list, but I need a bit more.

這是我需要的數據和結果的示例.

Here is an example of the data and results I need.

DECLARE @SalesPerson table (SalesPersonID int, SalesPersonName varchar(10))
DECLARE @Region table (RegionID int, RegionName varchar(15))
DECLARE @SalesPersonRegion table (SalesPersonID int, RegionID int)

INSERT INTO @SalesPerson (SalesPersonID, SalesPersonName) VALUES (1,'Jeff') 
INSERT INTO @SalesPerson (SalesPersonID, SalesPersonName) VALUES (2,'Pat') 
INSERT INTO @SalesPerson (SalesPersonID, SalesPersonName) VALUES (3,'Joe') 

INSERT INTO @Region (RegionID, RegionName) VALUES (1,'North') 
INSERT INTO @Region (RegionID, RegionName) VALUES (2,'South') 
INSERT INTO @Region (RegionID, RegionName) VALUES (3,'East') 
INSERT INTO @Region (RegionID, RegionName) VALUES (4,'West') 

INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (1,1)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (1,2)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (1,3)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (2,2)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (2,3)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (2,4)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (3,1)
INSERT INTO @SalesPersonRegion (SalesPersonID,RegionID) VALUES (3,4)

一個簡單的選擇將讓我得到每個銷售人員,以及該銷售人員所在的每個區域.

A simple select will get me each sales person, with each of that salesperson's region.

SELECT 
    sp.SalesPersonID,
    sp.SalesPersonName,
    r.RegionName
FROM @SalesPersonRegion spr
    JOIN @SalesPerson sp
        ON spr.SalesPersonID = sp.SalesPersonID
    JOIN @Region r
        ON spr.RegionID = r.RegionID 

在這種情況下,它將返回 9 行.

In this case, it will return 9 Rows.

我想得到這樣的結果:

SalesPersonID    SalesPersonName      Regions
1                Jeff                 North,South,East
2                Pat                  South,East,West
3                Joe                  North,West

推薦答案

SELECT 
  sp.SalesPersonID, 
  sp.SalesPersonName, 
  Regions = STUFF
  (
    (
      SELECT ',' + r.RegionName
       FROM @Region AS r
       INNER JOIN @SalesPersonRegion AS spr
       ON r.RegionID = spr.RegionID
       WHERE spr.SalesPersonID = sp.SalesPersonID
       ORDER BY r.RegionID
       FOR XML PATH(''), TYPE
    ).value('.[1]','nvarchar(max)'),
    1,1,''
  )
FROM @SalesPerson AS sp
ORDER BY sp.SalesPersonID;

這篇關于將單列連接成逗號分隔的列表的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 国产一区不卡在线观看 | 宅男伊人 | 欧美成人不卡 | 色综合久久久 | 午夜精品一区二区三区免费视频 | 中文无吗 | 在线免费看黄 | 国产精品中文字幕在线观看 | 亚洲iv一区二区三区 | 国产精品视频在线观看 | 97超碰人人 | 欧美性a视频 | 手机av在线 | 99精品欧美一区二区蜜桃免费 | 国产精品不卡 | 国产情侣啪啪 | 婷婷丁香综合网 | 亚洲国产成人av好男人在线观看 | 91婷婷韩国欧美一区二区 | 2022精品国偷自产免费观看 | 视频在线观看一区 | 一区二区不卡视频 | 免费一级欧美在线观看视频 | 欧美影院久久 | 国产免费一区二区三区 | 亚洲综合小视频 | 欧美亚洲一区二区三区 | 欧美不卡 | 亚洲视频欧美视频 | av香蕉| 久久这里有精品 | 亚洲不卡在线视频 | 五月激情综合 | 久久蜜桃av一区二区天堂 | 色99视频 | 国产精品精品视频一区二区三区 | 中文字幕在线播放第一页 | 亚洲国产免费 | 中文字幕国产精品 | 99精品免费在线观看 | 亚洲精品在线观 |