Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

MS SQL запрос на вывод количество записей

Серёга Тихонов Знаток (377), на голосовании 1 год назад
/****** Скрипт для команды SelectTopNRows из среды SSMS ******/
SELECT TOP (1000) [id]
,[classOfReward]
,[typeOfReward]
,[subjectOfReward]
,[id_Student] (ВНЕШНИЙ КЛЮЧ, СВЯЗАННЫЙ С ID ТАБЛИЦЫ STUDENTS)

FROM [subd_school].[dbo].[achievements_students]

/****** Скрипт для команды SelectTopNRows из среды SSMS ******/

SELECT TOP (1000) [id]

,[surname]

,[firstname]

,[patronymic]

,[gender]

,[class]

,[dataOfBirthDay]

,[image]

FROM [subd_school].[dbo].[students]На первом фото выделяя определенного ученика на нижней таблице появляется список записей, которые у него есть. (У перового 3 достижения, последние 2 имеют по одному).
Требуется вывести список студентов, но последний столбец показывается количество достижений определенного ученика и вопрос: КАК ЭТО СДЕЛАТЬ?
Я уже всю голову сломал, думаю о запросе, но каком или же как-то иначе подойти к этому делу?
Голосование за лучший ответ
IRQ Оракул (53026) 1 год назад
А не проще это на клиенте сделать после получения выборки? Если запросом то разумеется groupby и count.
Серёга ТихоновЗнаток (377) 1 год назад
Та просто весь день сижу за прогой и уже не думается никак, но ты помог, сдвинул пробку, спасибо)
Trill Мудрец (10666) 1 год назад
элементарно
 select STUDENTS.[surname],

count([subd_school].[dbo].[achievements_students].[id_Student]) as Reward
FROM STUDENTS
JOIN [subd_school].[dbo].[achievements_students] on [subd_school].[dbo].[achievements_students].[id_Student] = STUDENTS.Id
GROUP BY STUDENTS.[surname]
хотя лучше добавить id и по id группировать, вдруг однофамильцы. Аналогично
Серёга ТихоновЗнаток (377) 1 год назад
Благодарю, спаситель, если еще напишешь как в datagridview фигануть, то это будет полное счастье полные штаны XD
Trill Мудрец (10666) Серёга Тихонов, не пользую winform. но наверно тебе нужно это https://learn.microsoft.com/ru-ru/dotnet/api/system.windows.forms.datagridview.datasource?view=windowsdesktop-7.0 Не знаю чем пользуешься, может через entity framework core проще с базой общаться. но касается лишь получения данных для source
Серёга ТихоновЗнаток (377) 1 год назад
Мозг включил и сам сделал, спасибо)
Похожие вопросы