Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SELECT TOP Problem

Einklappen

Neue Werbung 2019

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

  • [Erledigt] SELECT TOP Problem

    Hallo,

    gleich nochmal ein SQL Problem, folgende Abrfage:

    PHP-Code:
    $query "SELECT TOP 1 t.vkbrutto, t.ean, t.apidnr
                      FROM tbl_temp t
                      LEFT JOIN tbl_log l on (t.apidnr = l.apidnr)
                      ORDER BY
                          t.temp_id
                      WHERE
                          l.flag != -1
                      AND
                          t.flag = -1;"

    Habe unter Anderem hier http://blog.raptor2101.de/2009/12/13...rver-lahmlegt/ schon gelesen das die TOP-Abfrage nicht unbedingt besonders gut ist, aber bisher keine andere Möglichkeit gefunden den ersten Datensatz aus einer Tabelle auszulesen.

    Folgender Fehler wird ausgegeben:

    PHP-Code:
    Beginn18.04.2011 10:38 Database errorInvalid SQLSELECT TOP 1 t.vkbruttot.eant.apidnr FROM tbl_temp t LEFT JOIN tbl_log l on (t.apidnr l.apidnrORDER BY t.temp_id WHERE l.flag != -AND t.flag = -1;

    MySQL Error1064 (You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '1 t.vkbrutto, t.ean, t.apidnr FROM tbl_temp t LEFT JOIN tbl_log l ' at line 1
    Was ist an der query falsch und gibt es eine andere Möglichkeit jeweils den ersten Datensatz auszugeben? Wenn der Datensatz bearbeitet wurde setze ich das Flag "t.falg" auf 0 um im nächsten Durchlauf den nächsten Datensatz zu bekommen.

    Danke für die Hilfe,

    wooha

  • #2
    TOP nix MySQL.

    Use LIMIT instead.
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      Hoppla, kein Wunder das es nicht geht. Habe es jetzt wie folgt und funktioniert:

      PHP-Code:
      $query "SELECT
                            t.vkbrutto,
                            t.ean,
                            t.apidnr
                        FROM tbl_temp t
                        LEFT JOIN 
                            tbl_log l on (t.apidnr = l.apidnr)
                        WHERE
                            l.flag != -1
                        AND
                            t.flag = -1
                        ORDER BY
                            t.temp_id DESC
                          LIMIT 1;"

      Danke!

      Kommentar


      • #4
        joa hätte dir aber selbst auffallen müssen, im Tutorial steht "TSQL"
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar

        Lädt...
        X