Tabela Firma (Id, Nazwa) i Pracownik (Id, IdFirmy, Nazwisko)
Chcę napisać zapytanie, które wybierze nazwę firmy i nazwiska wszystkich jej pracowników oddzielone przecinkami (jeden wiersz dla każdej firmy).
Zrobiłem to (bazując na jakimś przykładzie z Google) na razie tak:
SELECT DISTINCT F.Id AS FirmaId, F.Nazwa AS NazwaFirmy,
(SELECT ISNULL(P2.Nazwisko,'') + ', '
FROM dbo.Pracownik P2
INNER JOIN dbo.Firma F2 ON F2.Id = P2.IdFirmy
WHERE P2.IdFirmy= P.IdFirmy
FOR XML PATH('') ) AS NazwiskaPracownikow
FROM dbo.Firma AS F
LEFT JOIN dbo.Pracownik AS P ON F.Id = P.IdFirmy
Tylko jest jeden problem - to ma być zapytanie używane w widoku with schemabinding, a na FirmaId ma być założony sklastrowany indeks. I tu jest właśnie problem, bo nie da się takiego zrobić, gdy w zapytaniu są podzapytania.
Ma ktoś pomysł jak to rozwiązać?