如您所知,SQL Server与MySQL不同,没有Group_Concat
函数,因此为此目的如何为SQL Server编写查询。
我使用Visual Studio创建了一个应用程序。应用程序具有Windows窗体。我能够保存,删除和更新数据库表中的记录。我需要显示某人的电子邮件地址,因此我需要使用类似Group_concat
的方法。
你可以帮我解决这个问题吗?
答案 0 :(得分:0)
您可能需要使用SQL Server< = 2016的xml路径和SQL Server 2017,SQL Azure等的String_Agg,请在下面找到示例聚合
CREATE TABLE dbo.[#Table1] (fullname VARCHAR(20),education VARCHAR(20))
INSERT INTO #Table1
SELECT 'john', 'harvard' UNION ALL
SELECT 'john', 'mit' UNION ALL
SELECT 'eric', 'mit' UNION ALL
SELECT 'anna', 'yale'
--<=SQL Server 2016
Select fullname, stuff ((
select ',' + education from #Table1 where fullname = t.fullname
for xml path('')
),1,1,'') as education
From #Table1 t
Group by fullname
--For SQL Server 2017, SQL Azure, SQL PDW
Select fullname, string_agg(education,',') as Education from #table1
Group by fullname