SQL Server - возможное сводное решение?

У меня есть достаточно простая проблема, которую было удивительно трудно найти онлайн. Возможно, я ищу по неподходящим ключевым словам, поэтому я хотел бы остановиться и спросить вас, ребята, потому что ваш сайт был благословением моих исследований. Смотрите ниже сценарий:

Выберите учащегося, считайте (*) как Итого (неизвестная переменная: book1, book2, book3, book4, ect ...) из списка изучений.

По сути, все, что я хотел бы сделать, это перечислить все книги для уникального студенческого идентификатора, который соответствует общему количеству. Может ли кто-нибудь указать мне правильное направление, хорошее чтение или что-то еще, чтобы я мог сделать шаг в правильном направлении? Я предполагаю, что это будет сделано с помощью левого соединения (не знаю, как сделать часть x1, x2, x3), а затем просто свяжу их по уникальному номеру студента (без дубликатов), но все в сети указывают на сводку, но сводка появляется поместить все строки в столбцы вместо одного столбца. SQL Server 2005 является платформой выбора.

Спасибо!

сожалею

Следующий запрос дает мой уникальный идентификатор (учащегося) и количество учащегося для всех повторяющихся записей в таблице:

select student, count(*) as Total 
from mystudies
group by student order by total desc

часть, которую я не знаю, состоит в том, как создать левое соединение с уникальным идентификатором таблицы (boookid)

select mystudies1.student, mystudies1.total, mystudies2.bookid 
from  (  select student, count(*) as Total 
         from mystudies
         group by student
      ) mystudies1
      left join 
      (  select student, bookid 
         from mystudies
      ) mystudies2 
         on mystudies1.student=mystudies2.student
order by mystudies1.total desc, mystudies1.student asc

Очевидно, что приведенная выше строка будет давать результаты, подобные следующим:

Student    Total  BookID
000001    3        100001
000001    3        100002
000001    3        100003
000002    2        200001
000002    2        200002
000003    1        300001

Но на самом деле я хочу что-то похожее на следующее:

Student    Total  BookID
000001     3      100001, 100002, 100003
000002     2      200001, 200002
000003     1      300001

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

Ответы на вопрос(1)

Ваш ответ на вопрос