Heinz: mehrere Where Abfragen, hintereinander ausführen

Ich möchte gerne 10 Treffer aus meiner Datenbank ausgeben,
diese ist so aufgebaut:

id ! city ! cat
----------------------
1 ! München ! 1
2 ! Nürnberg ! 1
3 ! Bamberg ! 1
4 ! Hannover ! 2
5 ! Hildesheim    ! 2
6 ! Kiel ! 3
7 ! Sylt ! 3

Bei folgender Abfrage

SELECT name FROM tabelle WHERE kategorie =2 LIMIT 5

wird Hannover, Hildesheim ausgegeben

jetzt möchte ich aber das eben die beiden Treffer ausgegeben werden
und dann die Ausgabe mit den Werten von Cat=1 aufgefüllt wird

Das dann:  Hannover, Hildesheim (und weiter) München, Nürnberg, Bamberg ausgegeben wird.

Heinz

  1. Moin,

    jetzt möchte ich aber das eben die beiden Treffer ausgegeben werden
    und dann die Ausgabe mit den Werten von Cat=1 aufgefüllt wird

    Ungefähr so? (Nur geraten)
    SELECT * FROM tabelle WHERE cat <= 2 ORDER BY cat DESC LIMIT 5

    Grüße Marco

  2. SELECT name FROM tabelle WHERE kategorie =2 and kategorie =1 LIMIT 5

    Grüßchen
    T-Rexchen

    1. Hallo T,

      […] WHERE kategorie =2 and kategorie =1 […]

      den Datensatz will ich sehen bei dem in der Spalte »kategorie« gleichzeitig 1 und 2 drinsteht :-) Du meinst wohl »WHERE kategorie =2 OR kategorie =1« - auch wenn ich mir nicht so ganz sicher was der OP eigentlich will ...

      Gruß,
      Tobias

      1. Hi,

        auch wenn ich mir nicht so ganz sicher was der OP eigentlich will ...

        Er will offenbar Suchergebnisse primitiv* danach, wie gut sie zum gesuchten passen, sortieren lassen.

        * primitiv, weil das Güte-Kriterium offenbar binärer Natur ist - entweder „ist genau das, was du gesucht hast“, oder „ist anderer Scheiß, nach dem du zwar nicht gesucht hast, den ich dir aber trotzdem aufdrücken will“ ;-)

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  3. Hi,

    SELECT name FROM tabelle WHERE kategorie =2 LIMIT 5

    wird Hannover, Hildesheim ausgegeben

    jetzt möchte ich aber das eben die beiden Treffer ausgegeben werden
    und dann die Ausgabe mit den Werten von Cat=1 aufgefüllt wird

    Dann schränke nicht mit WHERE ein, sondern sortiere die Datensätze entsprechend - danach, ob sie der gesuchten Kategorie angehören, oder nicht.
    IF hilft bei der Prüfung weiter.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?