SQL查询结果一字段相同合并,另一字段为数字和逗号合并并去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL查询结果一字段相同合并,另一字段为数字和逗号合并并去重相关的知识,希望对你有一定的参考价值。

例如:表为
id a001 a002
10 1,3,15 无
10 2,3,7 无
17 23 无
36 8 无
17 1,19 无

最后查询结果为
id a001 a002
10 1,2,3,7,15 无
17 1,19,23 无
36 8 无
用SQL Server 数据库 VS2008显示查询结果
表一是我查询两表出来的结果 表二是我希望查询两表出现的结果
例如两表是分别是
制度ID 制度 制度ID 取用条款 评价人
1 规章一 1 1,2 张三
2 规章二 1 2,7,8 李四
2 6 王五
结果是
制度ID 制度 条款
1 规章一 1,2,7,8
2 规章二 6

这个 要看你是什么数据库

对于SQL Server 使用FOR XML的方式
对于MySQL使用 GROUP_CONCAT 函数 的方式进行处理
对于Oracle使用 WMSYS.WM_CONCAT 函数 的方式进行处理

详细例子, 见 参考资料追问

关键是对数字还要去重和排序

追答

CREATE TABLE #A1 (
ID INT,
name VARCHAR(10)
);

CREATE TABLE #A2 (
ID INT,
dt VARCHAR(10),
pe VARCHAR(10)
);
GO

INSERT INTO #A1
SELECT 1, '规章一' UNION ALL
SELECT 2, '规章二';

INSERT INTO #A2
SELECT 1, '1,2', '张三' UNION ALL
SELECT 1, '2,7,8', '李四' UNION ALL
SELECT 2, '6', '王五';
GO

1> SET QUOTED_IDENTIFIER ON
2> go

SQL 语句里面, 不知道有哪个英文单词, 被 屏蔽了, 发不上来.
你 发个消息给我, 给个邮件地址, 我发给你.

参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/a57d1a86009e439ff703a67a.html

参考技术A 1、需要这样搞,显然是数据表设计不合理造成的,如果可以的话,建议重新设计;
2、个人觉得在数据库中实现这种字符串的处理比较麻烦,可以的话,不如取出来,在程序里实现。

sql如何查询出一张表的的某个字段数据更换成另一张表的字段数据

新手求指导! 用游标查出sal数据再根据job数据内容对应更换或赋值另一张sal表数据。

参考技术A UPDATE 表1
SET sal=表2.sal
FROM 表2
WHERE 表1.job=表2.job追问

mysql 怎么写

本回答被提问者和网友采纳

以上是关于SQL查询结果一字段相同合并,另一字段为数字和逗号合并并去重的主要内容,如果未能解决你的问题,请参考以下文章

sql语句怎样将查询结果逗号分开

SQL Server如何将Id相同的字段合并,并且以逗号隔开

Mysql 数据字段值是用逗号隔开,如何写SQL语句

sql查询结果中有id相同的字段如何对查询结果进行操作将id相同的合并为一条数据

sql字段里有逗号隔开的数据,怎么取值

sql根据一个字段更新另一字段