Я не знаю, есть ли какое-нибудь решение, чтобы сделать это независимым от базы данных способом, поскольку вам, скорее всего, понадобится некоторая форма манипуляции со строками, которая обычно различается у разных поставщиков.
Для SQL Server 2005 и более поздних версий вы можете использовать:
SELECT
r.ID, r.Name,
Resources = STUFF(
(SELECT ','+a.Name
FROM dbo.Applications a
INNER JOIN dbo.ApplicationsResources ar ON ar.app_id = a.id
WHERE ar.resource_id = r.id
FOR XML PATH('')), 1, 1, '')
FROM
dbo.Resources r
Он использует конструкцию SQL Server 2005 FOR XML PATH
для перечисления подэлементов (приложений для данного ресурса) в виде списка через запятую.
Марк