У меня есть таблица с записями о заправках газа для моего автомобиля, а также таблица с информацией о поездке, и я пытаюсь перевести ее с помощью книг Excel. Я пытаюсь взять среднюю ставку ($ / л) заправок, чтобы определить, сколько мне стоило поездки за газ.
У меня есть представление, которое возвращает столбец TravelDay
( дата) и Travel
(км) для каждого введенного дня, и, если есть несколько записей, Путешествие является суммой.
Я пытаюсь создать столбец, который будет Путешествие * Среднее ( Оцените), и я продолжаю получать ошибки, однако я пытаюсь это сделать.
При написании этого я выяснил, как мне действительно нужно заставить его работать, и, надеюсь, это поможет кому-то еще, что пытается сделать это, и тоже вытаскивает свои волосы!
Я создал среднее как скалярную функцию
CREATE FUNCTION [dbo].[Key_Average_kmPerLitre_FuncSV]
--Created Parameter, because it wouldn't work without it... not used.
(@Param1 Int)
RETURNS decimal(17,9)
AS
BEGIN
DECLARE @val AS decimal(17,9)
SELECT @val = AVG(kmpL) FROM dbo.Records_GasFills
RETURN @val
END
GO
Затем я смог успешно использовать его в представлении и он смог разрешить его (в нескольких точках у меня почти было это ... но я забыл передать ему значение для параметра, и когда я это сделал, это сработало)
SELECT TOP (100) PERCENT
CAST(TravelDate AS Date) AS TravelDay,
SUM(km) AS Travel,
SUM(km) / dbo.Key_Average_kmPerLitre_FuncSV(1) AS [Fuel L]
FROM
dbo.Records_Travel
GROUP BY
CAST(TravelDate AS Date)
ORDER BY
TravelDay
Теперь перейдем к моей следующей части ... для генерации средней стоимости обслуживания / км ...