有什么地方可以获得这样的价值吗?
这
id column_1 column_2
1 abc hello
1 abc world
到
id column_1 column_2
1 abc hello world
非常感谢:)
答案 0 :(得分:2)
我假设column_1中的给定值并不总是对应于ID中的相同值,反之亦然。
DECLARE @temptable TABLE (id integer, column_1 varchar(20), column_2 varchar(20))
INSERT into @temptable
select 1 ,'abc' ,'hello'
UNION
select 1 ,'abc','world'
union
select 1, 'def', 'blah'
union
select 2, 'abc', 'world'
union
select 2, 'abc', 'blah'
select id, column_1,
(SELECT column_2 + ' '
FROM @temptable t2
where t2.id = t1.id and t2.column_1 = t1.column_1
FOR XML PATH('')
) new_column_2
from @temptable t1
group by id, column_1
结果:
id column_1 new_column_2
1 abc hello world
1 def blah
2 abc blah world
答案 1 :(得分:0)
在Mysql中,您可以使用 GROUP_CONCAT ,如下所示:
SELECT id, column_1, GROUP_CONCAT(column2 SEPARATOR ' ') FROM some_table GROUP BY id, column_1
答案 2 :(得分:0)
嗯,完全相信:
DECLARE @t TABLE (id integer, column_1 varchar(20), column_2 varchar(20))
INSERT into @t
SELECT 1 ,'abc' ,'hello'
UNION
SELECT 1 ,'abc','world'
SELECT DISTINCT
id, column_1,
(SELECT column_2 + ' ' FROM @t FOR XML PATH('') ) column_2
FROM @t
答案 3 :(得分:0)
在Sql Server中,您可以使用FOR XMLcontruct。
请看这个例子:
SQL Query to get aggregated result in comma seperators along with group by column in SQL Server