Я получаю хорошо документированную ошибку:ORDER BY элементов ... но у меня нет ОКВЕКА В
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
Вот мой SQL заявление:
INSERT INTO PropertyList
(PropertyID, Initials)
SELECT DISTINCT P.PropertyID, "vSTEBCodes"
FROM Property AS P INNER JOIN ValiditySTEBCodes AS VC
ON P.ControlNumber=VC.ControlNumber
Как вы можете видеть в предложении нет инструкции ORDER BY. Предположительно, там есть подразумеваемый ORDER BY, но я не вижу его.
Я запускаю это утверждение в отношении связанных таблиц в MS Access, связанных с исходным кодом SQL Server 2008. Когда я запускаю его из полной версии Access 2002, он работает без проблем. Если я попытаюсь запустить его из среды выполнения Access 2000, я получаю показанную ошибку.
Я знаю, что Access имеет тенденцию переписывать запросы в фоновом режиме, прежде чем перенаправлять их в источники ODBC (особенно многозадачные INSERT и UPDATE). Я думаю, что это может быть проблемой.
Он говорит, что «ORDER BY пункты должны появиться в списке выбора, если SELECT DISTINCT задан.» Вам нужно предоставить предложение ORDER BY, чтобы он работал. –
Возможно, Access добавляет 'ORDER BY' для вас. Что такое '' vSTEBCodes? '? Предполагается, что это строковый литерал, имя столбца, что-то еще? Если предполагается, что это строка, попробуйте использовать «одиночные кавычки», а также попробуйте использовать «GROUP BY P.PropertyID» вместо 'DISTINCT'. –
@AwesomeProgrammer нет, это не то, о чем говорится в сообщении об ошибке. Хотя каждое утверждение * должно * вероятно иметь «ORDER BY», чтобы быть предсказуемым и повторяемым, такого требования нет. –