Remedy ODBC Abfrage funktioniert nicht

  • Hallo,

    ich versuche mit dieser SQL Abfrage daten die in einer woche gesammlt wurden zu summieren und eine Zahl daraus zu bekommen, leider funktioniert diese nicht und mir wird angezeigt dass "< = >= <= <>" nicht gefunden worden sind, hier ist die SQL und die Fehlermeldung:

    SQL - "SELECT sum(GIEIST) FROM WOCapacity WHERE (WorkCenter<60) AND (GIEIST>0) and dateadd(day,convert(int,datum+7200)/86400,'1 Jan 1970') >= DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) and dateadd(day,convert(int,datum+7200)/86400,'1 Jan 1970') <= getdate()-1),0"

    Fehlermeldung - "Expected lexical element not found: =, <>, <, <=, >, or >="

    ich hoffe ihr könnt mir weiterhelfen, danke !

    Einmal editiert, zuletzt von Whenever (14. Mai 2014 um 11:37)

  • Ich kenne das Remedy DBMS selbst nicht aber die Fehlermeldung sieht mir danach auch, als ob du String-Typen auf größer/kleiner hin untersuchen willst was in diesem DBMS nicht impementiert ist.
    Schau dir also mal die Dateitypen von GIEIST und WorkCenter an

  • Wenn man nach dem Fehler googelt findet man diesen vor allem im Zusammenhang mit den Datefunktionen (und dein nicht erwähnter Cross-Post... :thumbdown: ).
    Ich würde mich also schrittweise rantasten und das SELECT-Statement neu, schrittweise aufbauen bis der Fehler kommt um herauszufinden woran es liegen könnte.

  • Also ich habe heute nochmal nachgeforscht was der Fehler sein könnte, ich habe teile von der SQL Abfrage weggenommen bis zu dem Punkt wo es funktioniert, wie es scheint ist die Syntaxis der SQL Abfrage nicht richtig, denn was passiert ist folgendes:

    "SELECT SUM(GIEIST) FROM WOCapacity WHERE WorkCenter<60 AND GIEIST>0" - Funktioniert

    "SELECT SUM(GIEIST) FROM WOCapacity WHERE WorkCenter<60 AND GIEIST>0 AND Datum < GETDATE()" - Fehlermeldung: Unexpected token: (


    Ich habe ebenfalls versucht verschiedene zeichen zu setzen z.B. [] anstat () oder {}, aber dann denkt er das wäre ein Feld und sagt natuerlich dass dieses Feld nicht existiert.

  • Zu Remedy habe ich unter anderem das hier auf wikipedia gefunden:
    Quelle: http://de.wikipedia.org/wiki/BMC_Remed…_Request_System

    Zitat von wikipedia

    Das ARS nutzt eine Datenbank eines anderen Anbieters (DB2, Sybase, MS SQL, Oracle usw.), um darin Daten in Tabellen zu speichern.


    Evtl. handelt es sich bei dir ja um eine Oracle DB?

    Dazu würden jedenfalls diese Erklärungen passen:

    Oracle kennt anscheinend kein getdate(): http://stackoverflow.com/questions/1597…alid-identifier
    Oracle kennt anscheinend kein dateadd(): http://www.webdeveloper.com/forum/showthre…teAdd-in-oracle

  • Ich benutze auf jeden Fall SQL Server und nicht Oracle, ich habe auch eben den Treiber aktualisiert un dennoch funktioniert es nicht, ich glaube ich übersehe irgendwas...