SQL Server表合并
2021/12/3 2:10:05
本文主要是介绍SQL Server表合并,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
再某种特定情况下,我们需要用到表合并的处理,例如将多行数据根据某个字段转换为1行。 这个时候就需要用到stuff这个函数了。
原表样
合并处理后表样
原表样代码:
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[用户角色表]') AND type IN ('U')) DROP TABLE [dbo].[用户角色表] GO CREATE TABLE [dbo].[用户角色表] ( [id] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [user] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [role] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL ) GO ALTER TABLE [dbo].[用户角色表] SET (LOCK_ESCALATION = TABLE) GO -- ---------------------------- -- Records of 用户角色表 -- ---------------------------- INSERT INTO [dbo].[用户角色表] ([id], [user], [role]) VALUES (N'1', N'lin', N'A') GO INSERT INTO [dbo].[用户角色表] ([id], [user], [role]) VALUES (N'2', N'lin', N'B') GO INSERT INTO [dbo].[用户角色表] ([id], [user], [role]) VALUES (N'3', N'lin', N'C') GO
合并处理代码:
SELECT [USER] , stuff(( SELECT ',' + role FROM 用户角色表 WHERE [USER] = a.[USER] FOR XML path('') ), 1, 1, '') role FROM 用户角色表 a GROUP BY [USER]
这篇关于SQL Server表合并的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-08Docker下的SqlServer发布订阅启用
- 2023-06-05Docker安装MS SQL Server并使用Navicat远程连接
- 2023-05-25深入浅出 SQL Server CDC 数据同步
- 2023-05-12通过空间占用和执行计划了解SQL Server的行存储索引
- 2023-04-24以SQLserver为例的Dapper详细讲解
- 2022-11-30SQL server高级函数查询
- 2022-11-26SQL SERVER数据库服务器CPU不能全部利用原因分析
- 2022-11-21SQL Server 时间算差值/常用函数
- 2022-11-20调试Archery连接SQL Server提示驱动错误
- 2022-10-22SQL Server 完整、差异备份+完整、差异还原(详细讲解,规避错误)