tysk: SQL-Abfrage

Hallo!

SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' && image='1' ORDER BY 'priority' DESC LIMIT 0, 40

Ich möchte gerne alle Kunden aus einem bestimmten Ort anzeigen, die ein Bild besitzen - dabei sollte darauf geachtet werden, dass die Kunden mit höchster Priorität auch ganz oben erscheinen - das gelingt auch alles mit meiner Abfrage.

Nur hätte ich gerne gewusst, was ich ändern muss, damit nach Anzeige aller Bilder am Ende der Liste auch die Datensätze erscheinen, die kein Bild haben (also image='0') ???

geht wohl kaum:
SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' ORDER BY 'priority' DESC ORDER BY image DESC LIMIT 0, 40 ???

PS: ort ist string (z.B. Berlin), image 0(keines) oder 1(vorhanden), priority 0(keine) oder 1(hoch)

Vielen Dank!
tysk

  1. also ich würde ein zweites select dahinterschreiben, das alle einträge ohne bilder anzeigt. weiss nicht ob das umständlich ist aber funktioniert auf jeden fall. auf komfortablere vorschläge bin ich gespannt. evtl was mit sort...

    ob das mit limit geht - ich denke kaum...

    chichi

  2. Halihallo tysk

    SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' && image='1' ORDER BY 'priority' DESC LIMIT 0, 40

    && ist im Normalfall kein gültiger AND-Operator. Verwende den SQL-92
    standardisierten AND-Operator.

    Nur hätte ich gerne gewusst, was ich ändern muss, damit nach Anzeige aller Bilder am Ende der Liste auch die Datensätze erscheinen, die kein Bild haben (also image='0') ???

    ORDER BY image DESC

    geht wohl kaum:
    SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' ORDER BY 'priority' DESC ORDER BY image DESC LIMIT 0, 40 ???

    Syntax error. Zweimal ORDER BY gibt's nicht!

    SELECT ... FROM ... WHERE ... ORDER BY priority DESC, image DESC

    Viele Grüsse

    Philipp

  3. Hallo!

    SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' && image='1' ORDER BY 'priority' DESC LIMIT 0, 40

    Ich möchte gerne alle Kunden aus einem bestimmten Ort anzeigen, die ein Bild besitzen - dabei sollte darauf geachtet werden, dass die Kunden mit höchster Priorität auch ganz oben erscheinen - das gelingt auch alles mit meiner Abfrage.

    SELECT * FROM kunden WHERE ort='$_REQUEST[ort]' ORDER BY image DESC, priority DESC,

    mfg

    Uschi und das Schmunzelmonster