Sql 选择除1个字段外数据几乎相同的行

Sql 选择除1个字段外数据几乎相同的行,sql,sql-server,Sql,Sql Server,如果我在一个SQL db(access前端)中有几行,除了一个字段外数据几乎完全相同(我知道规范化,但我很高兴这不是我做的!),有没有一种简单的方法可以选择一行公共数据,并一起显示另一个字段的所有值?我可以用编程的方式编写函数,但是我想有一种更简单的方法吗 乙二醇 作为 以下是您需要使用的技术示例: select 'test' as Test, 1 as Item into #test union select 'test2', 2 union select 'test', 3 unio

如果我在一个SQL db(access前端)中有几行,除了一个字段外数据几乎完全相同(我知道规范化,但我很高兴这不是我做的!),有没有一种简单的方法可以选择一行公共数据,并一起显示另一个字段的所有值?我可以用编程的方式编写函数,但是我想有一种更简单的方法吗

乙二醇

作为


以下是您需要使用的技术示例:

select 'test' as Test, 1 as Item 
into #test 
union select 'test2', 2 
union select 'test', 3 
union select NUll, 4 
union select 'test', 5 

select t2.test, STUFF((SELECT  ', ' + cast(t1.Item as varchar (10) )
        FROM #test t1 where t2.test = t1.test 
        FOR XML PATH('')), 1, 1, '') 
     from #test t2
     group by t2.test

以下是您需要使用的技术示例:

select 'test' as Test, 1 as Item 
into #test 
union select 'test2', 2 
union select 'test', 3 
union select NUll, 4 
union select 'test', 5 

select t2.test, STUFF((SELECT  ', ' + cast(t1.Item as varchar (10) )
        FROM #test t1 where t2.test = t1.test 
        FOR XML PATH('')), 1, 1, '') 
     from #test t2
     group by t2.test
您可以使用来获取以下信息:

select distinct col1, col2,
  Stuff((SELECT N', ' + col3 
         FROM yourtable t2
         where t1.col1 = t2.col1
         FOR XML PATH(''),TYPE)
        .value('text()[1]','nvarchar(max)'),1,2,N'')
from yourtable t1
请参见您可以使用以获取以下信息:

select distinct col1, col2,
  Stuff((SELECT N', ' + col3 
         FROM yourtable t2
         where t1.col1 = t2.col1
         FOR XML PATH(''),TYPE)
        .value('text()[1]','nvarchar(max)'),1,2,N'')
from yourtable t1

请参见

您正在查找字符串聚合连接操作。它因数据库而异。你应该在问题中提到数据库。获取答案的最快方法是通过谷歌搜索“sql字符串连接分组依据”。sql Server,但谷歌搜索了您提到的内容并获得了答案,谢谢您正在寻找字符串聚合连接操作。它因数据库而异。你应该在问题中提到数据库。获取答案的最快方法是通过谷歌搜索“sql字符串连接组依据”.sql Server,但谷歌搜索了您提到的内容并获得了答案,谢谢