2015-12-08 2 views
1

Вот мой Orders стол:Недопустимое имя столбца для SQL Server во вложенных запросах

Orders 
(
    ID int IDENTITY(1,1), ---> PK 
    OrderID int NOT NULL, ---> FK 
    ProductID int NOT NULL,--> FK 
    CustomerID int NOT NULL,-> FK 
    Quantity int NOT NULL, 
    TotalPrice int, 
) 

Я хочу, чтобы получить последний orderID значение из этой таблицы, так что я получаю то, что запрос я должен выполнить. Я получаю OrderID из последней строки с помощью вложенного запроса относятся:

SELECT OrderID 
FROM (SELECT TOP 1 * 
     FROM dbo.Orders 
     ORDER BY OrderID DESC) 

После того как я выполнить этот запрос я получаю

Неправильный синтаксис около «)».

ошибка и недопустимое имя столбца для OrderID в этом запросе.

Не могли бы вы сказать, где моя ошибка?

Спасибо.

ответ

1

Я думаю, вам нужно поставить псевдоним на вспомогательном запросе. Так это изменить:

SELECT OrderID 
FROM (SELECT TOP 1 OrderID 
     FROM dbo.Orders 
     ORDER BY OrderID DESC) 

Для этого:

SELECT tbl.OrderID 
FROM (SELECT TOP 1 OrderID 
     FROM dbo.Orders 
     ORDER BY OrderID DESC) AS tbl 
1

вы пропустили имя псевдонима таблицы

SELECT OrderID 
FROM (SELECT TOP 1 * 
     FROM dbo.Orders 
     ORDER BY OrderID DESC) AS A 
Смежные вопросы