`

在SQLServer上,把从表某字段拼成一个值

 
阅读更多
--> 测试数据:[father]
if object_id('[father]') is not null 
drop table [father]
go 
create table [father]
(
    [id] int,
    [name] varchar(6)
)
insert [father]
select 1,'王爸爸' union all
select 2,'张爸爸'
--> 测试数据:[son]
if object_id('[son]') is not null 
drop table [son]
go 
create table [son]
(
    [name] varchar(6),
    [father_id] int
)
insert [son]
select '大王子',1 union all
select '二王子',1 union all
select '三王子',1 union all
select '大张子',2 union all
select '二张子',2
;with t
as(
select 
    f.name,
    s.name as Son_name
from 
    [father] f
inner join
    [son] s
on 
    f.id=s.father_id
)
select
    distinct name,
    Son_name=stuff((select ','+Son_name
                    from t b 
                    where b.name=t.name for xml path('')), 1, 1, '')
from t
/*
 
(2 行受影响)
 
(5 行受影响)
name   Son_name
------ --------------------------
王爸爸    大王子,二王子,三王子
张爸爸    大张子,二张子
 
(2 行受影响)
 
 
*/

 

分享到:
评论

相关推荐

    SQLServer中如何将一个字段的多个记录值合在一行显示

    SQLServer 中将一个字段的多个记录值合并到一行显示的实现方法 SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以...

    sqlserver 将某表中一个字段的所有值拼接起来

    适用于数据库使用

    SQL Server 将某一列的值拼接成字符串.docx

    在SQL Server中,将某一列的值拼接成字符串是一个常见的需求,这通常涉及到数据的格式化输出,比如创建报告或者导出数据。这个过程可以通过几种不同的方法来实现,其中包括使用FOR XML PATH子句和CONCAT函数。我们将...

    SQL Server将一列的多行内容拼接成一行的实现方法

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...

    SQL Server连接字段的方法

    在SQL Server中,经常会遇到需要将不同的字段进行组合或转换的情况,比如将分别存储年、月、日的三个字段合并成一个日期格式的字符串。这种需求在实际应用中非常常见,尤其是在处理历史遗留数据或者特定格式的数据时...

    sql server拼接字符串和拼接一列的值

    sql server拼接字符串查询语句。 普通拼接字符串和拼接某一列的所有值。

    sql server 2008 将一列值转换成一个字符串

    在SQL Server 2008中,有时我们需要将表中的某一列数据合并成一个单独的字符串,例如将员工编号列合并成一个逗号分隔的字符串。这种操作在生成报表、邮件合并等功能中非常有用。本文的目标是通过一个具体的例子来...

    SQL SERVER2012中新增函数之字符串函数CONCAT详解

    在SQL Server 2012中,引入了一个新的字符串函数——CONCAT,它的主要功能是方便地连接多个字符串。在CONCAT函数出现之前,我们通常使用 "+" 运算符来连接字符串,但这种方法存在一个问题,即如果其中任何一个字符串...

    SQL Server把某个字段的数据用一条语句转换成字符串

    要将这个字段的所有不同值用特定分隔符(比如'*')连接成一个字符串,我们可以使用`FOR XML PATH`的技巧。`FOR XML PATH`通常用于生成XML格式的数据,但在这里,我们可以利用它来构建一个分隔的字符串。具体做法是:...

    sqlserver2000 拼音码 五笔码

    SQL Server 2000是一款由Microsoft公司推出的数据库管理系统,它是SQL Server系列中的一个重要版本,主要应用于企业级数据存储和管理。在这个特定的压缩包文件中,包含的是关于SQL Server 2000的一些特殊字符、...

    SQL Server中单引号的两种处理技巧

    在SQL Server中,单引号(')是一个特殊字符,用于定义字符串常量。当在构建动态SQL语句时,如果查询条件中的变量包含了单引号,不进行特殊处理会导致SQL语法错误。以下是对标题和描述中所述知识点的详细解释: 1. ...

    SQLServer逗号分隔的字符串转换成表

    SQL Server 逗号分隔的字符串转换成表是指将一个逗号分隔的字符串转换成一个表结构,以便于进行查询、更新或者删除等操作。下面是将逗号分隔的字符串转换成表的步骤: 1. 创建一个临时表:首先,需要创建一个临时表...

    sqlserver2008四种连接方法

    String url="jdbc:odbc:sqlserver;"; String sql="select * from exa"; try{ //连接数据库 conn = DriverManager.getConnection(url); //建立 Statement 对象 stmt=conn.createStatement(); //执行数据库...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;在MySQL中,主要使用`CONCAT...

    sql server 行列转换

    在这个例子中,我们假设`ab`视图中有两列:`date`和`money`,以及一个分类字段`Subject`。目标是根据`Subject`的不同值将`money`列的值转换成多列,每一列对应一个不同的`Subject`值。 ```sql -- 实现行列转换 ...

    case when和sum case when 写法及拼接字段

    在 SQL 中,经常需要将多个字段或值合并成一个字符串。这可以通过使用字符串连接操作符(如 `+` 或 `||`)或某些数据库提供的专用函数来实现。 #### 基本语法 对于大多数数据库系统,可以使用以下方式拼接字段: ...

    SQL Server中将查询结果转换为Json格式脚本分享

    在SQL Server中,有时我们需要将查询结果转换成JSON格式,以便于前端展示或者进行数据交换。这个场景在现代Web开发中非常常见,因为JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    SQL字符处理

    在SQL Server中,有时我们需要将同一组内的多个字段值拼接成一个字符串。这种需求常见于报告生成、数据汇总等场景。本文将详细介绍如何使用`FOR XML PATH`方法来实现这一功能,并通过具体的示例代码进行演示。 ####...

    sql server多行数据拼接的实例方法

    我们的目标是根据`type`字段将所有不同的`productCode`值拼接在一起,每个类型一行。 为了实现这个功能,我们可以创建一个自定义函数,如在描述中的`dbo.fun`。这是一个用户定义的函数(UDF),它接受`type`作为...

    C#图片转换成二进制流并且保存到sql_server数据库

    在C#编程中,将图片转换为二进制流并保存到SQL Server数据库是一种常见的数据存储方式,尤其适用于处理图像、音频、视频等非结构化数据。以下将详细阐述这一过程涉及的关键知识点。 1. 图片转二进制流: 在C#中,...

Global site tag (gtag.js) - Google Analytics