Мне нужно создать запрос, который создаст таблицу для клиента - «Франк Спенсер» (вы увидите его в таблице «Клиенты» ниже).Выбор правильного запроса
Новая таблица должна содержать общую сумму каждого продукта, который клиент когда-либо покупал, оставив его по заказу, который еще не отправлен, причем каждый продукт появляется только один раз в новой таблице.
Мои таблицы, как показано ниже.
Не могли бы вы мне посоветовать, какой из них ниже является лучшим?
а) with customer as (select * from customers where lower(CustomerName) = 'frank spencer'),customerorders as(select OrderId from orders o where o.CustomerId in(select CustomerId from customer) and OrderShipped = 'True') select sum(oi.QuantityOrdered) as TotalOrdered, s.ItemName into franksorders from orderitems oi join stock s on oi.StockItemId = s.StockItemId where OrderId in(select * from customerorders) group by ItemName order by ItemName
б) with customer as (select * from customers where lower(CustomerName) = 'frank spencer') join customerorders as(select OrderId from orders o where o.CustomerId in(select CustomerId from customer) and OrderShipped = 'True') select total(oi.QuantityOrdered) as TotalOrdered, s.ItemName into new table franksorders using orderitems oi join stock s on oi.StockItemId = s.StockItemId where OrderId in(select * from customerorders) group by ItemName order by ItemName
с) with customer (select * from customers where 'frank spencer' in (CustomerName)) with customerorders (select OrderId from orders o where o.CustomerId in(select CustomerId from customer) and OrderShipped = 'True') select sum(oi.QuantityOrdered) as TotalOrdered, s.ItemName create table franksorders using orderitems oi join stock s on oi.StockItemId = s.StockItemId where OrderId in(select * from customerorders) group by ItemName order by ItemName
д) using customer with (select * from customers where CustomerName = 'frank spencer' and customerorders with(select OrderId from orders o where o.CustomerId in(select CustomerId from customer) then OrderShipped = 'True') select sum(oi.QuantityOrdered) as TotalOrdered, s.ItemName into franksorders from orderitems oi join stock s on oi.StockItemId = s.StockItemId where OrderId in(select * from customerorders) group by ItemName order by ItemName
В вашем тестировании, который возвращает желаемый результат в кратчайшие сроки? –
Вы только что скопировали какую-то школьную задачу и захотели получить нужный ... – Nightmaresux
Это выглядит ужасно домашнее задание. Но оставив это в стороне, что определяет «лучший»? Что вы на самом деле пытались? – Andrew