这是我的Orders
表:
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
的错误和无效列名。
有人可以说我的错误在哪里吗?
感谢。
答案 0 :(得分:1)
你错过了表别名
SELECT OrderID
FROM (SELECT TOP 1 *
FROM dbo.Orders
ORDER BY OrderID DESC) AS A
答案 1 :(得分: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