Select TOP 1 * from Table Fails in Sybase Procedur

2019-06-27 04:24发布

问题:

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

回答1:

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!



回答2:

I know it is late but just for others TOP inside a subquery can be used in sybase latest version.