wo ist denn hier der Fehler?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wo ist denn hier der Fehler?

    Hallo allerseits,

    ich habe hier eine Abfrage, die auf eine DB2 Datenbank perfekt läuft, aber wenn ich versuche die Abfrage in MySQL auszuführen bekomme ich eine Fehlermeldung. Der Aufbau der beiden DBs sind gleich, nur die Daten sind nicht auf gleichem Stand - das ist aber sowieso unerheblich.

    Hier meine Abfrage:
    PHP-Code:
    SELECT TSTKNTSPROTSSKITSBES
    FROM TKDFRA
    WHERE TSCAT 
    '1' AND TSTKN 'demo'
    UNION ALL 
    SELECT TSTKN
    TSPROTSSKITSBES
    FROM TKDFRA
    WHERE TSCAT 
    '1' AND TSTKN 'DUMMY' AND TSPRO NOT
    IN 
    (


    SELECT TSPRO
    FROM TKDFRA
    WHERE TSCAT 
    '1' AND TSTKN 'demo'
    )
    ORDER BY TSPRO

    MySQL meldet



    #1064 - 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 'SELECT TSPRO
    FROM TKDFRA
    WHERE TSCAT =  '
    1' AND TSTKN =  'demo
    Ich sehe keinen Fehler in der Abfrage

    Bitte um Hilfe

    Gruß, Otto
    EDIT:
    Entschuldigung, das heißt NOT IN
    PHP-Code:
    WHERE TSCAT '1' AND TSTKN 'DUMMY' AND TSPRO NOT
    IN 
    Zuletzt geändert von otto-mueller; 18.03.2004, 12:10.

  • #2
    hast die anfuehrzeichen vorne und hinten richtig gesetzt ...
    ist das die ganze fehlermeldung ????

    lass dir mal dein query ueber echo ausgeben ....
    willst du aus dem int-feld etwa etwas mit '4' auslesen ???
    das klappt naemlich auch net


    gruss
    iglo


    EDIT:
    ist das feld TSCAT nen INT oder nen varchar feld ???
    wenn es nen int feld ist mach die anfuehrungsstriche um die zahl weg

    Kommentar


    • #3
      MySQL mag kein Subselect, baut deine Abfrage in JOIN um

      Kommentar


      • #4
        Hallo,

        ja, das ist die ganze Fehlermeldung.

        Zuerst hatte ich die Abfrage in meinem PHP-Skript, als es dort nicht funktionierte, habe ich dann die Abfrage direkt in phpMyAdmin ausgeführt und die Fehlermeldung erhalten, die ich euch beschrieben habe. Im Anhang findet ihr die Struktur und einige dummy-Daten von der Tabelle tkdfra.

        Ich habe auch sonst subselects in dieser Form in Mysql gehabt und die haben einwandfrei funktioniert.

        Danke nochmal Gruß
        Otto
        Angehängte Dateien

        Kommentar


        • #5
          bist du sicher, dass du MySQL >= Version 4.1 hast

          Kommentar


          • #6
            Ich weiss ja nicht welche MySQL Version Du einsetzt ... allerdings:

            Subselects werden unterstützt seit MySQL 4.1,
            UNIONs werden unterstützt seit MySQL 4.0.0
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Hallo,

              meine Mysql Version ist folgende:

              MySQL Version 4.0.18-max-debug

              Ich habe die Version 4.1.1a von hier heruntergeladen, aber ich konnte sie nicht installieren.

              Ich versuche es im Bereich "Fragen zu Installation (LAMP, WAMP & Co.)" in diesem Forum zu klären.

              Bis dahin

              Viele Grüße
              Otto

              Kommentar

              Lädt...
              X