我从以下查询中获取Syntax error near '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
没有任何问题。有任何想法吗? 最佳答案
我会用max而不是前1个...
选择i.ItemID,i.Description,v.VendorItemID
从项目我
加入ItemVendors v ON
v.RecordID =(
SELECT max(记录ID)
从ItemVendors iv
哪里
iv.VendorID = i.VendorID AND
iv.ParentRecordID = i.RecordID);