将特定列值与SQL结合使用

时间:2011-08-22 02:52:20

标签: sql sql-server

有什么地方可以获得这样的价值吗?

id        column_1        column_2
1         abc             hello 
1         abc             world

id        column_1        column_2
1         abc             hello world

非常感谢:)

4 个答案:

答案 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