[英]How to show collection of all values of a column in sql server 2014
let say i have a table like below Food(FoodID,FoodName) Package(PackageID,PackageName,FoodID)假设我有一个如下表 Food(FoodID,FoodName) Package(PackageID,PackageName,FoodID)
When i do当我做
SELECT P.PackageID,F.FoodName FROM FOOD F inner join PACKAGE P on F.FoodID = P.FoodID
it returns data like following它返回如下数据
PackageID FoodName 1 Mango 1 Apple 1 Tacos
but i want to get it like following但我想像下面一样得到它
PackageID FoodName 1 Mango,Apple,Tacos
How to do it怎么做
CREATE TABLE #FOOD (FoodID INT, FoodName VARCHAR(100) )
CREATE TABLE #PACKAGE (PackageID INT, FoodID INT)
INSERT INTO #FOOD
SELECT 1, 'Mango'
Union
SELECT 2, 'Apple'
Union
SELECT 3, 'Tacos'
INSERT INTO #PACKAGE
SELECT 1, 1
Union
SELECT 1, 2
Union
SELECT 1, 3
SELECT F1.PackageID,
STUFF(( SELECT ', ' + F2.FoodName
FROM
(SELECT P.PackageID,F.FoodName
FROM #FOOD F
INNER JOIN #PACKAGE P
ON F.FoodID = P.FoodID) F2
WHERE F1.PackageID = F2.PackageID
FOR XML PATH('')
), 1, 2, '') [Attributes]
FROM (SELECT P.PackageID,F.FoodName
FROM #FOOD F
INNER JOIN #PACKAGE P
ON F.FoodID = P.FoodID) F1
GROUP BY F1.PackageID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.