Я получаю Syntax error near 'ORDER'
из следующего запроса:SQL ошибка ORDER BY в подзапросе (TOP используется)
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()' вместо 'top'? –
Использование 'max()' вызывает ту же ошибку, но это ожидается, потому что использование 'order by' в подзапросе требует использования' top'. –
Вы, вероятно, предназначались для того, чтобы я не использовал 'order by' с вашим предложением, и я неправильно понял. Вы были правы, спасибо! –