2015-02-06 3 views
0

У меня есть набор данных, которые имеют несколько атрибутов для одной строки.Группирование нескольких строк в одну строку

Например, каждый сотрудник может участвовать в нескольких мероприятиях, и каждая деятельность имеет счет. Когда я запрос из базы данных, EmployeeID будет повторяться во всех строках, как это:

enter image description here

То, что я хочу сделать group by рода на данных таким образом, что каждая строка записи один сотрудник с его деятельностью и оценка, как так:

enter image description here

Я попытался сделать группу, как это:

select Employee.EmployeeID, Games.Activity, Games.Score from Employee left join Games on Employee.GameID = Games.GameID 
group by Employee.EmployeeID; 

Это, однако, не работает. Что делать, чтобы сделать группу без использования функции агрегации в предложении select? Функция

+0

ли вы имеете в виду, что поля идентификатора сотрудника должны быть пустыми на этих строках ? Я не вижу здесь никакой группировки. –

+0

Это проблема форматирования, а не проблема с данными. Вы должны подумать об этом в коде приложения. –

+0

@JamesZ Я имел в виду, что он будет сгруппирован. Таким образом, темные горизонтальные линии представляют собой один ряд. Игнорируйте слабые строки, созданные электронной таблицей. – Carven

ответ

0

1.User Окна Row_number() с разделом по EmployeeID

2.Then просто использовать Case when then, чтобы получить 1-й строку, как EmployeeID

select case when NewTab.RN =1 then NewTab.EmployeeID else null,NewTab.Activity, NewTab.Score 
from (
select ROW_NUMBER() OVER(partition BY Employee.EmployeeID ORDER BY Employee.EmployeeID)RN,* from (
select Employee.EmployeeID, Games.Activity, Games.Score from Employee 
left join Games on Employee.GameID = Games.GameID 
group by Employee.EmployeeID)D 
)NewTab 
+0

Я не совсем понимаю первый шаг «Функция окна пользователя Row_number() с разделом по EmployeeID». Для чего предназначена эта функция пользовательского окна? – Carven

+0

@Carven https://www.simple-talk.com/sql/learn-sql-server/window-functions-in-sql-server/ –

Смежные вопросы