sqlserver 实现字符串的聚合
关键字:sqlserver 2012,FOR XML PATH, 连接字符串 大家可能在工作中都遇到过需要聚合字符串的情况,例如: 实际的表数据如下 depart name 开发部 张三 开发部 李四 财务部 王二 财务部 麻子 运营部 路人甲 然后通过聚合,希望得到的结果 depart name 开发
关键字:sqlserver 2012,FOR XML PATH, 连接字符串
大家可能在工作中都遇到过需要聚合字符串的情况,例如:
实际的表数据如下
depart | name |
开发部 | 张三 |
开发部 | 李四 |
财务部 | 王二 |
财务部 | 麻子 |
运营部 | 路人甲 |
然后通过聚合,希望得到的结果
depart | name |
开发部 | 张三,李四 |
财务部 | 王二,麻子 |
运营部 | 路人甲 |
实际上,有三种方法可以实现这样的结果
1,使用自定义方法(function)
2,使用游标(cursor)
3,使用for xml path函数
这里主要介绍第三种,因为理论上代码的复杂度和开销都相对会小一点。
代码如下
<span>select</span><span> depart, </span><span>[</span><span>name</span><span>]</span><span>=</span><span>stuff</span><span>((</span><span>select</span><span>'</span><span>,</span><span>'</span><span>+</span><span>[</span><span>name</span><span>]</span><span>from</span><span> tb t </span><span>where</span><span> id </span><span>=</span><span> tb.depart </span><span>for</span><span> xml path(</span><span>''</span><span>)) , </span><span>1</span><span> , </span><span>1</span><span> , </span><span>''</span><span>) </span><span>from</span><span> tb </span><span>group</span><span>by</span><span> depart</span>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

For objects with the same name that already exist in the SQL Server database, the following steps need to be taken: Confirm the object type (table, view, stored procedure). IF NOT EXISTS can be used to skip creation if the object is empty. If the object has data, use a different name or modify the structure. Use DROP to delete existing objects (use caution, backup recommended). Check for schema changes to make sure there are no references to deleted or renamed objects.

The import steps are as follows: Copy the MDF file to SQL Server's data directory (usually C:\Program Files\Microsoft SQL Server\MSSQL\DATA). In SQL Server Management Studio (SSMS), open the database and select Attach. Click the Add button and select the MDF file. Confirm the database name and click the OK button.

When the SQL Server service fails to start, here are some steps to resolve: Check the error log to determine the root cause. Make sure the service account has permission to start the service. Check whether dependency services are running. Disable antivirus software. Repair SQL Server installation. If the repair does not work, reinstall SQL Server.

To view the SQL Server port number: Open SSMS and connect to the server. Find the server name in Object Explorer, right-click it and select Properties. In the Connection tab, view the TCP Port field.

If you accidentally delete a SQL Server database, you can take the following steps to recover: stop database activity; back up log files; check database logs; recovery options: restore from backup; restore from transaction log; use DBCC CHECKDB; use third-party tools. Please back up your database regularly and enable transaction logging to prevent data loss.

SQL Server database files are usually stored in the following default location: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data The database file location can be customized by modifying the database file path setting.

If the SQL Server installation fails, you can clean it up by following these steps: Uninstall SQL Server Delete registry keys Delete files and folders Restart the computer

SQL Server English installation can be changed to Chinese by following the following steps: download the corresponding language pack; stop the SQL Server service; install the language pack; change the instance language; change the user interface language; restart the application.
