2015-07-12 2 views
0

Я следующие отношения, и я, чтобы найти лучшие 5 заказов с самой высокой продажей в первом квартале 2014 года, я не могу понять, что недостающиеSQL известково полная стоимость Заказать

Моего решения:

SELECT TOP 5 OrderArticle.OrderId as Id,SUM(OrderArticle.Quantity*Article.Price) as Summe 
FROM OrderArticle 

JOIN Article ON OrderArticle.ArticleId=Article.Id 
JOIN "Order" ON OrderArticle.OrderId='Order'.Id 
Group by OrderArticle.OrderId 

ORDER BY Summe DESC 

enter image description here

+0

У вас есть ошибка? Неверные результаты? – Stijn

+0

Вы должны пометить свой вопрос в базе данных, которую используете. –

ответ

0

у вас есть проблема, потому что Order является зарезервированным словом. Лучше всего изменить название таблицы. Ваш запрос выглядит SQL Server, поэтому квадратные скобки путь:

SELECT TOP 5 oa.OrderId as Id, SUM(oa.Quantity * a.Price) as Summe 
FROM OrderArticle oa JOIN 
     Article a 
     ON oa.ArticleId = a.Id JOIN 
     [Order] o 
     ON oa.OrderId = o.Id 
GROUP BY oa.OrderId 
ORDER BY Summe DESC ; 

использовать только одиночные кавычки для строк и даты констант.

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