2013-06-08 3 views
0
SELECT B.CustomerID, SUM(C.UnitPrice * C.Quantity) AS "Total Value" 
FROM Orders B, Order_Det C 
WHERE B.OrderID = C.OrderID AND “Total Value” = (SELECT MAX(“Total Value”) FROM Order_Det) 
GROUP BY B.CustomerID 
ORDER BY "Total Value"; 

следующий код, приведенный выше, является тем, что я пытался. Клиент, способный делать MULTIPLE заказы. таким образом, я хочу отобразить самого ценного клиента по сумме нескольких покупок количества и цены за единицу. Проблема, с которой я столкнулся, заключается в том, что я не смог архивировать, кто является самым ценным клиентом. Пожалуйста, направляйте меня. TqКак правильно выбрать

ответ

0

это !!

SELECT O.CustomerID, SUM(OD.Quantity*OD.UnitPrice) AS "Total Value" 
FROM Orders O 
INNER JOIN Order_Det OD ON O.OrderId = OD.OrderId 
GROUP BY O.CustomerID 
ORDER BY SUM(OD.Quantity*OD.UnitPrice) 

или

SELECT O.CustomerID, SUM(OD.Quantity*OD.UnitPrice) AS "Total Value" 
FROM Orders O, Order_Det OD 
WHERE O.OrderId = OD.OrderId 
GROUP BY O.CustomerID 
ORDER BY SUM(OD.Quantity*OD.UnitPrice) 

и для самого ценного клиента,

SELECT TOP 1 O.CustomerID 
FROM Orders O 
INNER JOIN Order_Det OD ON O.OrderId = OD.OrderId 
GROUP BY O.CustomerID 
ORDER BY SUM(OD.Quantity*OD.UnitPrice) DESC 
+0

Я что-то подобное, но я просто хочу отображения только один клиент, который, имеющий высокий приобрели значение. Вот почему называется «САМЫЙ ЗНАЧИТЕЛЬНЫЙ КЛИЕНТ» :) –

+0

, тогда я редактирую ответ. Посмотрите на это .. – Paritosh

+0

В строке 1 есть ОШИБКА: ORA-00923: ОТ ключевое слово не найдено, где ожидалось. –

Смежные вопросы