Frage zum Sub-Query

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

  • Frage zum Sub-Query

    Hallo,

    ich habe folgende Tabelle (die Originale ist natürlich um einiges größer und voller):

    Code:
    id|geschlecht|alter
    -------------------
    1|m|21
    2|w|34
    3|m|34
    Als Ergebnis will ich folgendes angezeigt bekommen:
    Code:
    id|geschlecht|alter
    -------------------
    2|w|34
    3|m|34
    Also ich möchte nur 2 Einträge angezeigt bekommen die gleich alt sind und das Geschlecht ungleich ist.

    Folgende Abfrage gibt mir irgendwie nicht das Ergebnis was ich brauche.
    Weiß jemand wo der Fehler liegt?

    PHP Code:
    SELECT `id`, `geschlecht`, `alterFROM `usert WHERE (
        
    SELECT count(*) FROM `userWHERE `geschlecht` != t.`geschlecht` AND `alter` = t.`alter`
    ) >
    1 LIMIT 2 
    Last edited by Nordin; 02-10-2012, 00:14.

  • #2
    Dafür brauchst du imho kein Subselect. Ein Self Join sollte ausreichen.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #3
      Danke, so klappt es:

      PHP Code:
      SELECT u1.`id`, u1.`geschlecht`, u1.`alterFROM `user` AS u1, `user` AS u2
      WHERE u1
      .`geschlecht` != u2.`geschlecht` AND u1.`alter` = u2.`alterLIMIT 2 

      Comment


      • #4
        Mir ist grad aufgefallen, dass eine einfache Abfrage so nicht klappt:

        PHP Code:
        SELECT u1.`id`, u1.`geschlecht`, u1.`alterFROM `user` AS u1, `user` AS u2 
        WHERE u1
        .`alter` = u2.`alterLIMIT 2 
        So bekomme ich zwar zwei Einträge angezeigt, jedoch sind diese dann verschieden und nicht gleich und es sind die ersten zwei. Weißt du vielleicht warum bzw. wo der Fehler liegt?!

        Comment

        Working...
        X