Subselect

wachteldonk

Erfahrenes Mitglied
Hallo,

ich versuche grade damit


Code:
        STRsql = STRsql & "SELECT "
        STRsql = STRsql & "   t1.zeit1, "
        STRsql = STRsql & "   t1.zeit2 "
        STRsql = STRsql & "FROM "
        STRsql = STRsql & "   0003_01_ausfallzeiten AS t1 "
        STRsql = STRsql & "WHERE "
        STRsql = STRsql & "   MAID = " & INTmaid & " "
        STRsql = STRsql & "AND "
        STRsql = STRsql & "   datum >= '" & Format$(DATstartdatum, "yyyy-mm-dd") & "' "
        STRsql = STRsql & "AND "
        STRsql = STRsql & " datum <= '" & Format$(DATstopdatum, "yyyy-mm-dd") & "' "
        STRsql = STRsql & "AND "
        STRsql = STRsql & "   ( "
        STRsql = STRsql & "   zeit1 IN "
        STRsql = STRsql & "     ( "
        STRsql = STRsql & "     SELECT "
        STRsql = STRsql & "       title " 
        STRsql = STRsql & "     FROM "
        STRsql = STRsql & "         0003_02_zeittypen "
        STRsql = STRsql & "     WHERE "
        STRsql = STRsql & "       urlaubsunterbrechung = 'ja' "
        STRsql = STRsql & "     ) "
        STRsql = STRsql & "   OR "
        STRsql = STRsql & "     ( "
        STRsql = STRsql & "   zeit1 IN "
        STRsql = STRsql & "     ( "
        STRsql = STRsql & "     SELECT "
        STRsql = STRsql & "       title " 
        STRsql = STRsql & "     FROM "
        STRsql = STRsql & "         0003_02_zeittypen "
        STRsql = STRsql & "     WHERE "
        STRsql = STRsql & "       urlaubsunterbrechung = 'ja' "
        STRsql = STRsql & "     )" ""
        STRsql = STRsql & "   ) "



EInen subselect zu bewerkstelligen aber es klappt nicht. Der Rückgabewert der "in" BEdingung ist ein String bzw. mehrere Strings. Wie kann ich die eventuell mit ' umschließen, so das es passt?!
 
Hallo,

die Abfrage erzeiugt einen Syntaxfehle rbei ''

Ich denke es hat was damit zu tun, das der subselect einen string zurückgibt und der ja mit Hochkommas umschlossen sein sollte. Wie krieg ich das hin mit den Hochkommas:)
 
Ich denke es hat was damit zu tun, das der subselect einen string zurückgibt und der ja mit Hochkommas umschlossen sein sollte.
Hochkommas dienen nur zur Notation von Stringliteralen.

Kannst du dir die komplette Abfrage mal ausgeben lassen? Nicht jeder kennt sich mit Visual Basic aus (mich eingeschlossen) und abgesehen davon kennen wir den Inhalt deiner Variablen nicht.

Übrigens: um welches DBMS geht es?

Grüße, Matthias
 
Hallo,

anscheined ist der Query verloren gegangen:(


Code:
SELECT    t1.zeit1,    t1.zeit2 FROM    0003_01_ausfallzeiten AS t1 WHERE    MAID = 2212 AND    datum >= '2009-01-01' AND  datum <= '2009-01-28' AND    (    zeit1 IN      (      SELECT        title      FROM          0003_02_zeittypen      WHERE        urlaubsunterbrechung = 'ja'      )    OR      (    zeit1 IN      (      SELECT        title      FROM          0003_02_zeittypen      WHERE        urlaubsunterbrechung = 'ja'      )   ) 
Cmitarbeiterurlaubsberechnung.getAusfallzeiten.290
Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 
Also ich würde erst einmal die ganzen Leerzeichen aus der SQL-Anweisung entfernen. Im schlimmsten Fall liegt der Fehler schon da begraben.

Was mir sonst noch aufgefallen ist, du schließt die Datumsangaben in einfache Anführungszeichen - ' - ein, muss das nicht vielleicht das - # - Zeichen sein?

Gruß Thomas
 
Hallo,

die DAtumsangaben sind in einfachen ' . DAs klappt sonst ja auch immer udn die LEerzeichen kommen woghl von der Formatierung. Siehe erstes Posting und das macht sonst auch nie Probleme:)
 
Zurück