Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 将Sql表转换为删除列表_Sql Server 2008_Tsql - Fatal编程技术网

Sql server 2008 将Sql表转换为删除列表

Sql server 2008 将Sql表转换为删除列表,sql-server-2008,tsql,Sql Server 2008,Tsql,如果给我一张这样的桌子 Group Value Item 1 A Item 1 B Item 1 C Item 1 D Item 2 Z Item 2 Y Item 2 X Item 2 W Group Item 1 A|B|C|D Item 2 Z|Y|X|W 我想要这样一张表格的结果 Group Value Item 1 A Item 1 B Item 1 C Item 1 D Item 2 Z Item 2 Y Item 2 X Item

如果给我一张这样的桌子

Group   Value
Item 1  A
Item 1  B
Item 1  C
Item 1  D
Item 2  Z
Item 2  Y
Item 2  X
Item 2  W
Group   
Item 1  A|B|C|D
Item 2  Z|Y|X|W
我想要这样一张表格的结果

Group   Value
Item 1  A
Item 1  B
Item 1  C
Item 1  D
Item 2  Z
Item 2  Y
Item 2  X
Item 2  W
Group   
Item 1  A|B|C|D
Item 2  Z|Y|X|W
现在我知道如何做一个单独的小组

 SELECT @Item1= ISNULL(@Item1+ '|', '') + CodeValue
 FROM Codes
 WHERE CodeType = 'Item 1'

我想我可以把它循环一下。我的问题是还有更优雅的方式吗?

找到下面的咆哮,希望会满足你

DECLARE @tABLE TABLE(ItemName varchar(10),Code char(1))
insert into @tABLE
select 'Item 1',  'A'
union
select 'Item 1',  'B'
union 
select 'Item 1',  'C'
union
select 'Item 1',  'D'
union
select 'Item 2',  'W'
union
select 'Item 2',  'X'
union
select 'Item 2',  'Y'
union
select 'Item 2',  'Z'

select distinct ItemName ,
STUFF((Select ' | '+Code
from @tABLE T1
where T1.ItemName=T2.ItemName
FOR XML PATH('')),1,2,'') from @tABLE T2
ItemName(无列名) 项目1 A | B | C | D
第2项W | X | Y | Z

你应该尝试在谷歌上搜索答案。你会找到很多答案。e、 g.可能重复的问题对于不同版本的SQL Server,在这个问题上有很多重复的问题;对xml路径使用
的技术可能是最常见的。谢谢,我将删除,