我在以下查询中收到 'ORDER' 附近的语法错误
:
SELECT i.ItemID, i.Description, v.VendorItemID
FROM Items i
JOIN ItemVendors v ON
v.RecordID = (
SELECT TOP 1 RecordID
FROM ItemVendors iv
WHERE
iv.VendorID = i.VendorID AND
iv.ParentRecordID = i.RecordID
ORDER BY RecordID DESC
);
如果我删除 ORDER BY
子句,查询运行良好,但不幸的是,必须从降序列表而不是升序列表中提取。我找到的所有与此相关的答案都表明必须使用 TOP
,但在这种情况下我已经在使用它了。当 TOP
和 ORDER BY
不是子查询的一部分时,我没有任何问题。有什么想法吗?
最佳答案
这个错误与TOP无关。 ASE 根本不允许在子查询中使用 ORDER BY。这就是错误的原因。
关于子查询中 ORDER BY 的 SQL 错误(使用了 TOP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953929/