I have this SQL Fiddle
MS SQL Server 2008 Schema Setup:
CREATE TABLE AccessUser
(
AccessUserID int,
AccessUserName varchar(255),
AccessUserType int,
AccessUserGroups varchar(255)
);
INSERT INTO AccessUser
( AccessUserID,
AccessUserName,
AccessUserType,
AccessUserGroups
)
VALUES
(1, 'Group 1', 2, ''),
(2, 'Group 2', 2, ''),
(3, 'John', 5, '@1@'),
(4, 'Nick', 5, '@1@@2@');
Query 1:
SELECT DISTINCT
Empl.AccessUserName AS Name,
Firm.AccessUserName AS FirmName
FROM AccessUser AS Firm, AccessUser AS Empl
WHERE Empl.AccessUserType = 5
AND Empl.AccessUserGroups LIKE ('%@' + CAST(Firm.AccessUserID AS VARCHAR(10)) + '@%')
ORDER BY Empl.AccessUserName ASC
| NAME | FIRMNAME |
|------|----------|
| John | Group 1 |
| Nick | Group 1 |
| Nick | Group 2 |
QUESTION: How can i modify the Query, to output this:
| NAME | FIRMNAME |
|------|--------------------|
| John | Group 1 |
| Nick | Group 1, Group 2 |
What I want to do is to commaseparate the Firmname, if the user has more than one AccessUserGroups
.
Is it even possible to do so in one query?