I am using sql server 2008 r2 with php in my website. I have 2 tables.
1 is for employees.
(int) (nvarchar) (nvarchar)
id name
The content of this doesn't totally answers the question but it will suggest on how you can properly normalize the table in order for theproblem to be simplified.
This is a Many-to-Many
Relationship.
Employees
- ID (Primary Key)
- Name
- Type
Task
- ID (Primary Key)
- Name
Work
- EmployeeID (Foreign Key)
- TaskID (Foreign Key)
EMPLOYEE TABLE
id name type
1 john 2
2 peter 1
3 leah 2
4 frank 1
5 tang 3
TASK TABLE
id name
1 task1
2 task2
3 task3
4 task4
WORK TABLE
TaskID EmployeeID
1 1
1 3
2 2
2 4
3 1
3 2
3 3
4 4
Query,
SELECT t.ID, t.Name,
STUFF(
(SELECT ',' + b.Name
FROM Work a
INNER JOIN Employee b
ON a.EmployeeID = b.ID
WHERE a.TaskID = t.ID
FOR XML PATH (''))
, 1, 1, '') AS NamesList
FROM Task t
-- WHERE ..... -- add additional conditions...
GROUP BY t.ID, t.Name