Попробуйте это ...
Скрипт таблицы и пример данных
CREATE TABLE [TableName](
[eId] [int] NULL,
[FName] [nvarchar](50) NULL,
[LName] [nvarchar](50) NULL,
[Type] [int] NULL,
[SubType] [nvarchar](50) NULL
)
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (1, N'a', N'aa', 1, N'S11a')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (1, N'a', N'aa', 1, N'S12a')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (1, N'a', N'aa', 1, N'S13a')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (1, N'a', N'aa', 3, N'S31a')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (1, N'a', N'aa', 3, N'S32a')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (2, N'b', N'bb', 1, N'S11b')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (2, N'b', N'bb', 1, N'S12b')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (2, N'b', N'bb', 3, N'S31b')
INSERT [TableName] ([eId], [FName], [LName], [Type], [SubType]) VALUES (2, N'b', N'bb', 3, N'S32b')
Запрос (с использованием функции PIVOT)
SELECT eid,
fname,
lname,
[1] AS SubType1,
[3] AS SubType2
FROM (SELECT eid, [type], Max(fname) AS FName, Max(lname) AS LName,
Stuff((SELECT '; ' + subtype
FROM tablename t2
WHERE t2.eid = t1.eid
AND t2.[type] = t1.[type]
FOR xml path('')), 1, 2, '') AS SubType
FROM tablename t1
GROUP BY eid, [type]) sq
PIVOT ( Max(subtype)
FOR [type] IN ([1], [3]) ) piv
выход
+-----+-------+-------+------------------+------------+
| eid | fname | lname | SubType1 | SubType2 |
+-----+-------+-------+------------------+------------+
| 1 | a | aa | S11a; S12a; S13a | S31a; S32a |
| 2 | b | bb | S11b; S12b | S31b; S32b |
+-----+-------+-------+------------------+------------+
Демо: http://www.sqlfiddle.com/#!18/1542b/3/0