Выберите TOP 1 * из Table Fails в процедуре Sybase.

Я пытаюсь получить только одну запись из таблицы Sybase без использования функции RowCount, даже если «WHERE Condition» возвращает несколько результатов.

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

Успешно работает только с одной записью,

Однако

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

терпит неудачу при записи внутри процедуры Sybase в виде подзапроса


person user2104391    schedule 16.03.2013    source источник
comment
В чем ошибка? Можете ли вы показать нам код?   -  person AjV Jsy    schedule 16.03.2013
comment
Какое сообщение об ошибке вы получаете?   -  person Dave Sexton    schedule 16.03.2013
comment
Было ли это для sybase-asa или sybase-ase? Вы отметили его обоими....   -  person Danny Beckett    schedule 16.03.2013


Ответы (2)


Top поддерживается только во внешнем запросе, вот ссылка

Для упорядоченных данных я использую причину вместо Top 1 в Sybase, например:

SELECT  EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50 HAVING EMPLOYEEID = MIN(EMPLOYEEID)

Надеюсь, это немного поможет. ГЛ!

person www    schedule 16.03.2013

Я знаю, что уже поздно, но только для других TOP внутри подзапроса можно использовать в последней версии sybase.

person Mrunal Gosar    schedule 09.09.2014
comment
У меня не работает. Этот вопрос касается Sybase ASE. Можете ли вы дать ссылку? - person Beginner; 18.07.2017