JOIN in einer Sybase-DB



  • Hallo zusammen,

    ich brauche ein wenig Unterstützung beim JOINen in einer Sybase-DB. Das Problem ist, dass die Sybase-ODBC-Treiber-Fehlermeldungen nicht besonders informativ sind. Beim Ausführen des folgenden Scripts bekomme ich nur die Meldung, dass es einen Fehler in der Nähe von SELECT gibt. Damit komme ich leider nicht weiter. Ich habe auch keine Elemente in dem Befehl finden, die Sybase nicht kennt. Was ist also die Ursache?

    [Sybase][ODBC Driver]Syntax error: near 'SELECT' in ..._TEMP INNER JOIN ( [SELECT] w3GIS_TEMP.zaehler...

    CREATE VIEW w3GIS_FR AS
    ( 	SELECT DISTINCT * 
    	FROM w3GIS_TEMP
    	INNER JOIN 
    	(
    		SELECT w3GIS_TEMP.zaehler AS tempZaehler, w3GIS_TEMP.nenner AS tempNenner, MIN(w3GIS_TEMP.Pknr) minPknr FROM w3GIS_TEMP GROUP BY w3GIS_TEMP.zaehler, w3GIS_TEMP.nenner
    	) gr ON (gr.tempZaehler = w3GIS_TEMP.zaehler) AND (gr.tempNenner = w3GIS_TEMP.nenner) AND (w3GIS_TEMP.Pknr = gr.minPknr)
    );
    

    Ich verwende in der Testumgebung Sybase SQL Anywhere Database Engine Version 5.5.03 Build #1666.
    Danke.

    p.s. Auf SQL Server läuft der Script ohne Probleme durch.



  • Vielleicht kann Sybase keine Sub-Selects bei JOIN?
    Probier mal "gr" als Common Table Expression anzugeben, oder als eigene View anzulegen.



  • Yep, das war die Ursache. Danke dir.


Anmelden zum Antworten