Alternative zu SQL-window-Funktionen in Sybase

Arbeite ich auf Sybase Adaptive Server Enterprise (version 12.5.0.3). Versuchen, zu verwenden Row_number() OVER (Partition by columnname order by columnname). Wenn ich die Abfrage ausführen, ist es eine Ausnahme, die sagen, dass der syntax in der Nähe ÜBER, ist falsch. Ich habe gesucht für die ordnungsgemäße row_number () - syntax für sybase-Datenbank, aber es ist nichts falsch in der syntax. Ich denke, dass die Sybase-version, bin mit nicht unterstützen row_number() OVER. Ich habe sogar versucht dense_rank() OVER, aber bin immer der gleiche Fehler.

Muss ich wissen, ob es wirklich ein syntax-Problem oder ist da von Sybase ist der low-version, die nicht die Unterstützung der key-Worte?

Wenn das Problem mit der version, dann gibt es keine alternative für row_number OVER und dense_rank() OVER für die sybase-Datenbank.

Meiner Abfrage:

select  cr.firstname, cr.lastname, cr.dob,cr.phone,
          row_number() over (patition by cr.dob order by createddate) "rank"       
          from ff.CrossReferenceTable cr

Fehlermeldung:

Server Message:  Number  156, Severity  15
               Server 'MyServer', Line 1:
               Incorrect syntax near the keyword 'over'.
  • SQL Vorteil ist aktuell in Version 11, und ich glaube nicht, dass SQL Anywhere hatte eine version 12.5.1, so ist es wahrscheinlich, daß Sie entweder mit Sybase ASE oder Sybase IQ. Können Sie bitte klären, was DBMS verwendest du?
  • Ich habe ausgeführt, der unter Abfrage und fand den Ausgang. Select @@version und der Ausgang ist "Adaptive Server Enterprise/12.5.0.3/EBF 10690 IR/P/RS6000/AIX 4.3.3/rel12503/1915/32-bit/FBO/Thu Jan 23 12:19:08 2003"
  • Sybase ASE 12.5 nicht unterstützen row_number oder over. Hier ist ein workaround für row_number vorgeschlagen von jemandem mit temp-Tabellen. stackoverflow.com/questions/16608469/...
  • Auch hier ist die Dokumentation link: infocenter.sybase.com/help/index.jsp?topic=/..., Sie werden wahrscheinlich finden Sie die Transact-SQL User ' s Guide, Reference Manual: Building Blocks-und Referenzhandbuch: Befehle, die hilfreich für Sie sein, herauszufinden, welche Befehle unterstützen.
  • Vielen Dank Michael.Diese Informationen sind hilfreich.
  • hmm ... die Abfrage so geschrieben, hat sich ein Tippfehler in "partition", die sich in der Fehlermeldung angezeigt.

InformationsquelleAutor user337986 | 2014-07-31
Schreibe einen Kommentar