Есть база данных, которую я разработал для диплома
Также я написал запросы, которые будут отображать итоговую стоимость услуг и материалов:
ИтоговаяСтоимостьУслугSELECT [Список услуг].[ID заявки], SUM([Список услуг].Количество * [Прайс-лист услуг].Цена) AS ИтоговаяЦенаУслуг
FROM Заявки INNER JOIN ([Прайс-лист услуг] INNER JOIN [Список услуг] ON [Прайс-лист услуг].[ID услуги] = [Список услуг].[ID услуги]) ON Заявки.[ID заявки] = [Список услуг].[ID заявки]
WHERE [Прайс-лист услуг].Дата = (
SELECT MAX(plu2.Дата)
FROM [Прайс-лист услуг] plu2
WHERE plu2.[ID услуги] = [Прайс-лист услуг].[ID услуги]
AND plu2.Дата <= Заявки.[Дата начала]
)
GROUP BY [Список услуг].[ID заявки];
ИтоговаяСтоимостьМатериаловSELECT [Список материалов].[ID заявки], SUM([Список материалов].Количество * [Прайс-лист материалов].Цена) AS ИтоговаяЦенаМатериалов
FROM Заявки INNER JOIN ([Прайс-лист материалов] INNER JOIN [Список материалов] ON [Прайс-лист материалов].[ID материала] = [Список материалов].[id материалы]) ON Заявки.[ID заявки] = [Список материалов].[ID заявки]
WHERE [Прайс-лист материалов].Дата = (
SELECT MAX(plm2.Дата)
FROM [Прайс-лист материалов] plm2
WHERE plm2.[ID материала] = [Прайс-лист материалов].[ID материала]
AND plm2.Дата <= Заявки.[Дата начала]
)
GROUP BY [Список материалов].[ID заявки];
ИтоговаяСтоимостьЗаявокSELECT Заявки.[ID заявки], Заявки.Адрес, Заявки.[Дата начала], Заявки.[Дата окончания], ИтоговаяСтоимостьУслуг.ИтоговаяЦенаУслуг, ИтоговаяСтоимостьМатериалов.ИтоговаяЦенаМатериалов, ИтоговаяСтоимостьУслуг.ИтоговаяЦенаУслуг + ИтоговаяСтоимостьМатериалов.ИтоговаяЦенаМатериалов AS Сумма
FROM (Заявки LEFT JOIN ИтоговаяСтоимостьУслуг ON Заявки.[ID заявки] = ИтоговаяСтоимостьУслуг.[ID заявки]) LEFT JOIN ИтоговаяСтоимостьМатериалов ON Заявки.[ID заявки] = ИтоговаяСтоимостьМатериалов.[ID заявки];
Задача состоит в том, чтобы в таблице Заявки в поле Сумма отображалась итоговая цена за услуги и материалы.
Я попробовал следующий запрос:
UPDATE Заявки
SET Заявки.Сумма = (
SELECT ИтоговаяСтоимостьУслуг.ИтоговаяЦенаУслуг + ИтоговаяСтоимостьМатериалов.ИтоговаяЦенаМатериалов
FROM ИтоговаяСтоимостьУслуг
LEFT JOIN ИтоговаяСтоимостьМатериалов ON ИтоговаяСтоимостьУслуг.[ID заявки] = ИтоговаяСтоимостьМатериалов.[ID заявки]
WHERE Заявки.[ID заявки] = ИтоговаяСтоимостьУслуг.[ID заявки]
);
Но при выполнении вылезла ошибка
Ссылка на поле 'Заявки.[ID заявки]' может относиться к полям нескольких таблиц, перечисленных в предложении FROM инструкции SQL.
Как решить проблему? Или может есть другие способы как вывести итоговую сумму в таблице "Заявки"?