Запрос Sql Server не работает как подзапрос - PullRequest
3 голосов
/ 30 июня 2010

Почему этот запрос не работает?

Select temp.CompanyName from

(
    SELECT  c.CompanyName, o.OrderID, 
            YEAR(o.OrderDate)  As YEAR, 
            Sum(od.UnitPrice * od.Quantity) from Orders o 
        INNER JOIN [Order Details] od 
            ON o.OrderID = od.OrderID
        INNER JOIN Customers c
            On c.CustomerID = o.CustomerID
                GROUP BY o.OrderId,c.CompanyName, YEAR(o.OrderDate)

) As temp;

Используется база данных Northwind.Если я запускаю его без создания временного представления, т. Е. Если я запускаю запрос, содержащийся в круглых скобках, он работает просто отлично.

Ответы [ 2 ]

5 голосов
/ 30 июня 2010

на первый взгляд, я бы сказал, потому что ваша сумма () не имеет псевдоним столбца

1 голос
/ 30 июня 2010

попробуйте это:

Select CompanyName from
(
    SELECT  c.CompanyName, o.OrderID, 
            YEAR(o.OrderDate)  As YEAR, 
            Sum(od.UnitPrice * od.Quantity) as price from Orders o 
        INNER JOIN [Order Details] od 
            ON o.OrderID = od.OrderID
        INNER JOIN Customers c
            On c.CustomerID = o.CustomerID
                GROUP BY o.OrderId,c.CompanyName, YEAR(o.OrderDate)

)  temp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...