2017-11-17 16 views
-1

Das Folgende ist die Daten, die ich habe. ProductId und Namen ist String-DatentypWie bekomme ich alle IDs von Duplicate Name und übergebe es an die Tabelle

ProductId Name 
"101"  John 
"201"  Marry 
"301"  Marry 
"401"  John 
"501"  John 

ich den doppelten Namen identifizieren müssen und ihre ProductId des abrufen und schließlich diese IDs anhängen wie unten structure.These Ergebnis wird in Datatable (C#) sein.

ProductId    Name 
"101,401,501"   John` 
"201,301"    Marry 

Bitte geben Sie mir Lösung wie zu erreichen.

+0

Was haben Sie versucht, und wo hast du das? Möchten Sie auf dem Server deduplizieren oder JavaScript verwenden? Bitte zeigen Sie mehr Aufwand bei der Anfrage – mplungjan

+0

Bitte geben Sie, was Sie für uns versucht haben, um mögliche Fehler zu überprüfen – PhilMaGeo

+0

Bitte überprüfen, ich habe Frage –

Antwort

1

Hier ist ein Weg, um mit STUFF

create table #MyTable(ProductId int, [Name] varchar(16)) 
insert into #MyTable 
values 
(101,'John'), 
(201,'Marry'), 
(301,'Marry'), 
(401,'John'), 
(501,'John') 

select distinct 
    t.[Name] 
    ,ProductId = STUFF((
         SELECT ',' + cast(t2.ProductId as char(3)) 
         FROM #MyTable t2 
         WHERE t.[Name] = t2.[Name] 
         FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') 
from 
    #MyTable t 


drop table #MyTable 

ONLINE DEMO

+0

bearbeitet Funktioniert perfekt mit dem Sql-Server. Aber bitte lassen Sie mich wissen, wie man mit C# DataTable arbeitet –

+0

Sie markierten SQL Server 2008, so dass Sie dies auf der Datenbankseite tun würden. – scsimon

+0

Ja stimme ich zu. Aber ich möchte auch wissen, wie man mit C# DataTable arbeitet –

Verwandte Themen