La même unité SQL entre deux tables nécessite des numéros de command dans une cellule

J'ai 2 tables:

SELECT UnitId FROM dbo.tblUnits SELECT UnitId, WorkOrderNumber FROM dbo.tblWorkOrders 

J'ai besoin d'afficher tous les UnitId de dbo.tblUnits puis dans une colonne, tous les WorkOrders séparés par une virgule.

Voici donc quelques exemples de données: dbo.tblUnits:

 UnitId 123 156 178 

dbo.tblWorkOrders

 UnitId WorkOrderNumber 123 1 123 2 156 4 178 5 178 9 178 10 

Je dois utiliser la table tblUnits parce que j'en tire plus de données mais le résultat final que je veux montrer ceci:

 UnitId WorkOrderNumber 123 1,2 156 4 178 5,9,10 

Des idées?

Merci

 select UnitId, stuff((select ', ' + convert(varchar, WorkOrderNumber) from tblWorkOrders t2 where t1.UnitId = t2.UnitId for xml path('')), 1,2,'') WorkOrderNumbers from tblWorkOrders t1 group by UnitId 

Essaye ça:

 SELECT t1.UnitId, subssortingng((SELECT ( ', ' + WorkOrderNumber) FROM tblWorkOrders t2 WHERE t1.UnitId= t2.UnitId ORDER BY UnitId FOR XML PATH( '' ) ), 3, 1000 ) as WorkOrderNumbers FROM tblWorkOrders as t1 

J'ai trouvé cet article sympa sur ce sujet. Cela vous montre différentes façons de le faire.

http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/