Мы использовали SQL Profiler для проверки сообщения Incorrect syntax near the keyword 'LEFT'
.вот что мы получили: ошибка возникла из-за следующего плохого SQL
DELETE FROM ofPubsubItem
LEFT JOIN (SELECT id FROM ofPubsubItem WHERE serviceID= @P0 AND nodeID= @P1 ORDER BY creationDate DESC LIMIT @P2 ) AS noDelete
ON ofPubsubItem.id = noDelete.id
WHERE ...
Этот SQL-код некорректен, корректный будет включать 'FROM ofPubsubItem' дважды, например
DELETE FROM ofPubsubItem
FROM ofPubsubItem LEFT JOIN (SELECT id FROM ofPubsubItem WHERE serviceID= @P0 AND nodeID= @P1 ORDER BY creationDate DESC LIMIT @P2 ) AS noDelete
ON ofPubsubItem.id = noDelete.id
WHERE
Я собираюсьотправить отчет об ошибке в Openfire.Не уверен, что этот синтаксис SQL специфичен для ANSI или SQL Server, но предполагается, что Openfire поддерживает SQL Server.