Vorgänger und Nachfolger ermitteln

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

  • Vorgänger und Nachfolger ermitteln

    Hallo,
    ich habe eine Frage zu folgendem Query. Wie realisiere ich das?
    Ich habe folgende Tabelle:
    Code:
    table bilder
    ---------------
    id    toalbum
    16    2
    17    2
    18    2
    19    2
    20    1
    21    2
    22    1
    23    2
    24    2
    25    2
    26    2
    27    2
    28    1
    29    2
    30    2
    Nun möchte ich jeweils die 4 Vorgänger und die 4 Nachfolger von der 25 haben, welche zum selben Album gehören.
    Bisher habe ich das so:
    Code:
    SELECT * FROM bilder WHERE toalbum = 2 AND id < 25 ORDER BY id DESC LIMIT 0,4
    SELECT * FROM bilder WHERE toalbum = 2 AND id > 25 ORDER BY id ASC LIMIT 0,4
    Das funktioniert zwar, nur habe ich das Problem das er mir die 4 Vorgänger in der falschen Reihenfolge ausgibt. Also ich habe dann als Ergebnis:
    Code:
    24 23 21 19
    Ich brauche es aber in der Form:
    Code:
    19 21 23 24
    Wenn ich meine obere Abfrage so umbaue:
    Code:
    SELECT * FROM bilder WHERE toalbum = 2 AND id < 25 ORDER BY id ASC LIMIT 0,4
    dann kriege ich als Ergebnis:
    Code:
    16 17 18 19
    Was ja auch logisch ist ^^ Mir haperts grad an der richtigen Abfrage.
    Mess with the Besth, die like the rest!

  • #2
    Hallo,

    kannst du das nicht mit PHP in die richtige Reihenfolge bringen? Das wäre sinnvoller. Wenn nicht, musst du eine Unterabfrage nutzen:

    Code:
    select …
    from (select … from … order by … desc) as …
    order by … asc
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar

    Lädt...
    X