2
У меня есть таблица CSFT_SuggestionItem с перевалы, как:SQL Server 2005 - Ряды в Cols
SuggestionItemID Title Description, etc.
------------------------------------------------------------
1 Item 1 Do more work
2 Item 2 I think more is good
Для каждого SuggestionItem, может несколькими "Приложения", где он может быть связан, так что я CSFT_SuggestionItemApplication
SuggestionItemID ApplicationID
----------------------------------
1 1
1 2
2 1
И у меня есть CSFT_Application таблица
ApplicationID Description
----------------------------------
1 Spring
2 Summer
3 Fall
4 Winter
Я хочу, чтобы мой выход выглядеть как т его:
SuggestionItemID Applications
----------------------------------
1 Spring, Summer
2 Spring
Я знаю, что смогу это сделать путем петли. Но есть ли лучший способ в Sql server 2005? Может быть, COALESCE, PIVOT и т.д.
, что не работает. Он возвращает 2 строки для SuggestionItemID = 1. Может быть, группа должна быть другой ??? –
@Patrick From IBank: он вернет две строки для 'SuggestionItemID = 1', если вы забыли' DISTINCT' –
. Это не сработало. Здесь позвольте мне представить реальные имена таблиц: SELECT DISTINCT sia.SuggestionItemID, STUFF ((SELECT '' + a.description ОТ CSFT_Application ГДЕ a.applicationid = sia.ApplicationID GROUP BY a.description FOR XML PATH ('')), 1, 1, '') AS CSFT_Application FROM CSFT_SuggestionItemApplication sia –