Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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中的第1列对第2列上的不同值进行分组 请考虑下面的例子: id name 1234 maria 1235 tamas 1236 helia 1234 maria 1235 jack 1235 david_Sql_Sql Server_Sql Server 2008_Select - Fatal编程技术网

根据sql server中的第1列对第2列上的不同值进行分组 请考虑下面的例子: id name 1234 maria 1235 tamas 1236 helia 1234 maria 1235 jack 1235 david

根据sql server中的第1列对第2列上的不同值进行分组 请考虑下面的例子: id name 1234 maria 1235 tamas 1236 helia 1234 maria 1235 jack 1235 david,sql,sql-server,sql-server-2008,select,Sql,Sql Server,Sql Server 2008,Select,我要做的是根据id对第二列上的不同值进行分组: id name id name id name 1234 maria 1235 tamas 1236 helia 1235 jack 1235 david 我不确定,但我想我应该在id上使用游标,然后根据该id选择第二列,但我没有成功。有人能帮我吗?试试这个: SELECT A.id, MAX

我要做的是根据id对第二列上的不同值进行分组:

id    name      id      name      id       name
1234  maria     1235    tamas     1236     helia
                1235    jack
                1235   david 
我不确定,但我想我应该在id上使用游标,然后根据该id选择第二列,但我没有成功。有人能帮我吗?

试试这个:

SELECT A.id, MAX(STUFF(B.name, 1, 1, '')) AS name 
FROM tableA A 
CROSS APPLY(SELECT ',' + A1.name FROM tableA A1 WHERE A.id = A1.id FOR XML PATH('')) AS B (name)
GROUP BY A.id

Distinct
关键字应解决以下问题:

declare @test table ( id int, name varchar(20))

insert into @test values 
(1234,'maria'),
(1235,'tamas'),
(1236,'helia'),
(1234,'maria'),
(1235,'jack'),
(1235,'david')

select distinct id,name  from @test

这将在单独的表中给出它们,但@Deepshika解决方案也可以

DECLARE @ID INT
DECLARE @getID CURSOR
SET @getID = CURSOR FOR
select distinct id
from [work].[dbo].[FORM105]
order by id
OPEN @getID
FETCH NEXT
FROM @getID INTO @ID
WHILE @@FETCH_STATUS = 0 
BEGIN 
select distinct id,name
from [work].[dbo].[FORM105]
where id=@ID
FETCH NEXT
FROM @getID INTO @ID
END
CLOSE @getID
DEALLOCATE @getID

tamas、jack、david,这些是单独的行吗?用标题值以表格形式显示预期结果。@wewesthemenace是,请看一下这个问题more@Veera请再次查看问题谢谢您的帮助@Saharsh Shah,但我得到了这个错误:关联名称“A”在A中多次指定,从clausethank您这么多,但它不会给我不同的值,它会给我该id的所有值,都在一行中,以,但是我想要的是把一些像我在问题中包含的一样的东西放出来,答案是如何的,但我想把它们放在单独的表格中,出于这个原因,最后我使用游标,虽然这不是一个好的解决方案