У меня есть две таблицы в моей datebase:Объединение двух SQL таблиц и группировка
Автомобили: IdCar PK, Company, Тип, Цвет
Аренда: Id-rent_date PK, IdCar FK , Car_return_date
Мне нужно написать запрос, который будет возвращать три колонки: - года - количество дней, в которых автомобили определенного компа любой был арендован в год - компании - от стола Автомобили
Пока у меня есть:
SELECT DATEDIFF(dd, Id-rent_date, Car_return_date) AS Days, Company FROM Renting INNER JOIN Cars ON Renting.IdCar = Cars.IdCar
Я пытался группа Компании в конце запроса, но она возвращается ошибка:
Столбец «Renting.Id-rent_date» недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
Я не предполагал, что запрос будет настолько сложным! Он отлично работает, спасибо! –
, если вы разрешите в поле Car_return_date значение NULL (автомобиль не был возвращен), вы должны использовать ISNULL (Car_return_date, getdate()) вместо Car_return_date. Он должен выглядеть как SUM (DATEDIFF (dd, [Id-rent_date], ISNULL (Car_return_date, getdate()))) – steryd