Дед Мазай
Гений
(58129)
7 лет назад
1. В запросе надо вывести содержимое используемых полей, тогда станет видно, что поле UnitsOnOrder часто содержит нули. Видимо, назначение этого поля не соответствует твоим ожиданиям. Поле Order Details.Discount у тебя вообще не используется. Название этого поля как бы намекает на скидку.
2. Группировка тут не нужна, поскольку запрос должен выводить каждую позицию в заказе. И DISTINCT не нужен.
На задание "Рассчитать стоимость каждой позиции в заказе с учетом скидки". Я составил код, реализующий запрос к БД в соответствии с заданием. Но запрос выдаёт местами цены = 0.
Я что - то не так сделал в запросе или так может быть?
Как исправить?
Спасибо за ответы!
SELECT DISTINCT Ord_det.OrderID, Ord_det.ProductId, /*выбрать уникальные (DISTINCT) записи: ID заказа, ID продукта*/
(Prod.UnitsOnOrder* Ord_det.Quantity) AS [Стоимость со скидкой] /*результат математической операции: стоимость в заказе умножаем на количество продукта*/
FROM [Order Details] Ord_det /*из таблицы состава заказов*/
INNER JOIN Products Prod /*подсоединяем таблицу перечня продуктов по общему полю ID продукта*/
ON Ord_det.ProductID = Prod.ProductID
GROUP BY Ord_det.OrderID, Ord_det.ProductId, Prod.UnitsOnOrder, Ord_det.Quantity /*группировка данных по полю ID заказа*/
ORDER BY Ord_det.OrderID /*сортировака по возрастанию по полю ID заказа*/