Select TOP 1 * from Table Fails in Sybase Procedure

user2104391 picture user2104391 · Mar 16, 2013 · Viewed 10.2k times · Source

Am trying to Fetch Only one record from the Sybase Table without using the RowCount Function, even though "WHERE Condition" returns multiple results.

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

Runs Successfully with one Record Only,

However

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

fails, when written inside a Sybase Procedure as a Sub Query

Answer

www picture www · Mar 16, 2013

Top is supported only in outer query only, here is the link

For ordered data I am using having cause instead Top 1 in Sybase, like:

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

I hope it helps a bit. GL!