with cte as(
Select Top 5 MenuItemName AS Name, Sum(Quantity) AS Quantity ,
Sum(Price) AS Amount
FROM [sTMS 3].dbo.Orders
INNER JOIN [sTMS 3].dbo.MenuItems ON [sTMS 3].dbo.Orders.MenuItemId = [sTMS 3].dbo.MenuItems.Id
INNER JOIN [sTMS 3].dbo.Tickets TCK ON TCK.Id = [sTMS 3].dbo.Orders.TicketId
INNER JOIN [sTMS 3].dbo.TicketEntities TEN ON TEN.Ticket_Id = TCK.Id
WHERE
(MenuItems.GroupCode = 'Rides' OR MenuItems.GroupCode = 'Ticket Rides')
AND Orders.CreatedDateTime BETWEEN Convert(DATETIME,'Jan 1 2017 12:00AM',101) and Convert(DATETIME,'Mar 3 2017 12:00AM',101)
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Master Card"}%'
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Technical Card"}%'
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Guest Card"}%'
Group by MenuItemName
Order by Amount Desc UNION ALL
Select Top 5 MenuItemName AS Name, Sum(Quantity) AS Quantity ,
Sum(Price) AS Amount
FROM sTMS10.dbo.Orders
INNER JOIN sTMS10.dbo.MenuItems ON sTMS10.dbo.Orders.MenuItemId = sTMS10.dbo.MenuItems.Id
INNER JOIN sTMS10.dbo.Tickets TCK ON TCK.Id = sTMS10.dbo.Orders.TicketId
INNER JOIN sTMS10.dbo.TicketEntities TEN ON TEN.Ticket_Id = TCK.Id
WHERE
(MenuItems.GroupCode = 'Rides' OR MenuItems.GroupCode = 'Ticket Rides')
AND Orders.CreatedDateTime BETWEEN Convert(DATETIME,'Jan 1 2017 12:00AM',101) and Convert(DATETIME,'Mar 3 2017 12:00AM',101)
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Master Card"}%'
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Technical Card"}%'
AND TEN.EntityCustomData NOT LIKE '%{"Name":"Card Type","Value":"Guest Card"}%'
Group by MenuItemName
Order by Amount Desc)
Select top 5 Name,Sum(Quantity) AS Quantity,Sum(Amount)/``
(Select SUM(Amount) FROM (Select top 5 Sum(e.Amount) Amount From cte e Group by e.Name order by e.Amount desc)a) * 100 AS Percentage,Sum(Amount) AS Amount
,CONVERT(DATETIME,'Jan 1 2017 12:00AM',101) FromDate
,CONVERT(DATETIME,'Mar 3 2017 12:00AM',101) ToDate
From cte Group by Name order by Amount desc
"cte.Amount"열은 집계 함수 또는 GROUP BY 절에 포함되어 있지 않으므로 ORDER BY 절에서 유효하지 않습니다.이 오류가 발생하는 이유는 무엇입니까?
을 바로 가리키는 네하지만 어떤 문제가 있습니까? –