Я просматриваю книгу и в Глава 15 Обновление наборов данных , в разделе Задачи, которые необходимо решить , возникает следующая проблема:
"Установить розничную цену аксессуаров (категория = 1) на оптовую цену самого дорогого поставщика плюс 35 процентов"
Я немного смущен, почему автордавая это решение:
UPDATE Products
SET
RetailPrice = ROUND(1.35 * (
SELECT DISTINCT WholesalePrice
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber =
Products.ProductNumber
AND WholesalePrice = (
SELECT MAX(WholesalePrice)
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber =
Products.ProductNumber)),0)
WHERE RetailPrice < 1.35 * (
SELECT DISTINCT WholesalePrice
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber = Products.ProductNumber
AND WholesalePrice = (
SELECT MAX(WholesalePrice)
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber =
Products.ProductNumber)
LIMIT 1)
AND CategoryID = 1;
... вместо:
UPDATE Products
SET
RetailPrice = ROUND(1.35 * (SELECT MAX(WholesalePrice)
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber =
Products.ProductNumber),0)
WHERE RetailPrice < 1.35 * (SELECT MAX(WholesalePrice)
FROM Product_Vendors
WHERE Product_Vendors.ProductNumber =
Products.ProductNumber
LIMIT 1)
AND CategoryID = 1;
Оба дают одинаковый результат, одинаковое количество строк, затрагиваемых в MySQL Workbench ... так почему тогда?Спасибо, ребята.
Заказы на продажу Изменить схему