4

「WHERECondition」が複数の結果を返しますが、RowCount関数を使用せずにSybaseテーブルから1つのレコードのみをフェッチしようとしています。

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

1つのレコードのみで正常に実行されます。

でも

SELECT TOP 1 EMPLOYEE_NAME FROM EMPLOYEES WHERE EMPLOYEEID > 50

サブクエリとしてSybaseプロシージャ内に記述されている場合、失敗します

4

2 に答える 2

7

トップは外部クエリでのみサポートされています。ここにリンクがあります

順序付けされたデータの場合、次のように、Sybaseのトップ1の代わりに原因を使用しています。

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

少しお役に立てば幸いです。GL!

于 2013-03-16T13:47:43.093 に答える