SELECT Abfrage

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SELECT Abfrage

    Hallo Forum,

    ich habe mal wieder ein Problem mit einer SELECT Abfrage.

    Ich habe eine Tabelle mit Namen, nun möchte ich per Zufall vier der Namen auswählen. Das habe ich so gemacht:

    PHP Code:
    SELECT FROM names WHERE name maier ORDER BY RAND() LIMIT 4 
    Wenn nun nicht 4 Ergebnisse für einen Namen existieren, möchte ich Datensätze haben, die auf alle Namen zutreffen. Diese sollen aber nur angezeigt werden, wenn für einen Namen null oder weniger Ergebnisse vorliegen.

    Beispiel: ich frage den Namen Maier ab, es gibt zwei Einträge für Maier, aber ich möchte vier angezeigt haben -> die restlichen beiden sollen dann welche sein, die auf alle namen zutreffen.

    Ist das mit einer einzigen SQL-Abfrage möglich, wenn ja, wie muss die Abfrage lauten? Nehmen wir an, diese Namen, die für alle gelten heissen 'standard'.

    Danke für Eure hilfe und ein fröhliches Osterfest.

    Bis dann
    RON

  • #2
    Auch wenn ich nicht genau verstanden habe, was Du vorhast, wäre vielleicht LIKE für Dich interessant.

    Comment


    • #3
      Danke für Deine Antwort. Ich habe das vielleicht ein wenig komisch erklärt. Und zwar frage ich folgendes ab:

      SELECT * FROM names WHERE name = maier ORDER BY RAND() LIMIT 4

      Nun erhalte ich zwei Datensätze (weil nur zwei Datensätze für Maier existieren), aber ich will immer 4 Datensätze haben.

      Die noch fehlenden zwei Datensätze sind Standarddatensätze, die unter name=standard gespeichert sind. Meine Frage ist nun, ob ich diese Bedingungen in nur einer SQL Abfrage unterbringen kann.

      Danke und viele Grüsse
      RON

      Comment


      • #4
        ... where `name`='maier' or `name`='standard' ...
        ist es das was du willst?

        btw: gibts denn auch standard als namen

        Comment


        • #5
          mit deiner syntax erhältst du nur die werte mit meier.
          danach müsstest du meiner meinung nach feststellen, wieviele datensäze noch fehlen und diese nochmals mit standard abfragen. wenn du das in einer abfrage packst ist nciht gewährleistet, das meier ei der abfrage priorität erhält.

          denn sinn versehe ich zwar nicht, aber ok.

          ob das order bei rand() was nützt kann mir schwer vorstellen das etwas "zufällig" geordnet werden soll.

          Comment


          • #6
            Original geschrieben von rlebek
            Nun erhalte ich zwei Datensätze (weil nur zwei Datensätze für Maier existieren), aber ich will immer 4 Datensätze haben.
            Warum möchtest Du, wenn nur zwei Datensätze existieren, unbedingt vier anzeigen? Das scheint mir irgendwie sinnfrei zu sein.

            Comment

            Working...
            X