У меня есть две таблицы. Первая таблица (класс) - это таблица, в которой есть классы, которые может выбрать студент, а последний столбец (numberOfRegistration) - это номер регистрации для каждого класса. Вот первая таблица:Как подсчитать количество ROWS в таблице SQL
idClass int;
name varchar(50);
date varchar(50);
state bit;
description nvarchar(50);
numberOfRegistration int
Вторая таблица (регистрации) для регистрации:
idRegistration int;
dateOfRegistration date;
name varchar(50);
lastName varchar(50);
city nvarchar(50);
adress nvarchar(50);
postalNumber int;
idClass int - this is foreign key, references idClass from Class table ;
Кто-нибудь есть идеи, как получить номер регистрации для каждого класса в таблице регистрации, и написать, что данных в последний столбец (numberOfRegistration) в классе таблицы.
Спасибо
Это похоже на плохой дизайн базы данных. Не сохраняйте значения, которые легко вычисляются. В этом случае 'select idClass, count (*) из группы регистрации idClass' даст вам количество регистраций для каждого класса. –
Хорошо. Мне нужно заполнить gridview следующими данными: –
Ok. Мне нужно заполнить gridview следующими данными: classname, numberOfRegistration. Моя идея состояла в том, чтобы объединить данные из таблицы классов и count (*) из регистрационной таблицы и представить ее в gridview. Я попробовал этот запрос: SELECT name, COUNT (idRegistration) FROM Class LEFT JOIN Регистрация ON class.idClass = registration.idClass GROUP BY idClass, но я получил эту ошибку: Столбец 'class.name' недопустим в списке выбора, потому что это не содержащихся ни в агрегатной функции, ни в предложении GROUP BY. Не могли бы вы проверить, что я делаю неправильно. Спасибо –