Nude: mysql-abfrage mit IF (?) oder womit

hi Leute!!!

brauch mal eure hilfe bei einer abfrage!
Habe folgende mysql-datenbank:

name, geschlecht, gewicht

Ich möchte nun eine abfrage haben, die nur ergebnisse herausgibt, bei denen das gewicht kleiner ist als "80", WENN geschlecht "w" ist.

Weiss jemand wie man sowas machen kann?

  1. Hallo,
    Versuchs mal mit SELECT. :-)

    $gew = array('80', '79', '...');

    SELECT gewciht FROM tabelle WHERE 'gewicht' = '".$gew."', 'geschlecht' = 'w';

    Vieleicht kannst du auch nen Counter machen....

    MfG

    1. Und wo steht dass ich mit PHP arbeiten will?
      Hier gehts um mySQL, nicht um PHP, nicht um Perl oder irgendeinen andere Programmiersprache! Außerdem suche ich eine reine mySQL Lösung!

  2. yo,

    select spalte1, spalte2
    FROM tabelle
    WHERE gewicht < 80 AND geschlecht = 'w'

    Ilja

    1. yo,

      select spalte1, spalte2
      FROM tabelle
      WHERE gewicht < 80 AND geschlecht = 'w'

      Ilja

      na toll, nun bekomme ich nur frauen.
      Ich möchte aber, dass nur bei frauen gewicht kleiner als 80 sein soll! Bei männern nicht !

      1. yo,

        na toll, nun bekomme ich nur frauen.
        Ich möchte aber, dass nur bei frauen gewicht kleiner als 80 sein soll! Bei männern nicht !

        ruhig brauner....die abfrage ist sehr einfach, die frage ist nur, wie leicht du es uns machst, zu beschreiben, was genau du willst.

        select spalte1, spalte2
        FROM tabelle
        WHERE gewicht < 80 AND geschlecht = 'w' OR geschlecht = 'm'

        Ilja

        1. Hello Ilja,

          select spalte1, spalte2
          FROM tabelle
          WHERE gewicht < 80 AND geschlecht = 'w' OR geschlecht = 'm'

          ich glaube, man sollte dringend noch darauf hinweisen, dass es nur auf Grund der Operatoren-Rangfolge zum gewünschten(?!) Ergebnis kommt - ganz ohne Klammern muss man bei dieser Abfrage aufpassen, auch wenn sie vollkommen korrekt ist. Aus Gründen der Übersichtlichkeit, und um späteren Fehlern vorzubeugen, würde ich sicherheitshalber Klammern setzen:
          WHERE (gewicht < 80 AND geschlecht = 'w') OR geschlecht = 'm'

          MfG
          Rouven

          --
          -------------------
          "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
          1. yo Rouven,

            Aus Gründen der Übersichtlichkeit, und um späteren Fehlern vorzubeugen, würde ich sicherheitshalber Klammern setzen:

            solche klammern zu setzen ist was für....vernünftige menschen. ;-)

            Ilja

  3. Servus,

    wie konntest du die Dokumentation zur SELECT Syntax im Manual übersehen?

    Gruss
    Patrick

    --
    sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:) va:} de:> zu:) fl:| ss:| ls:[ js:|
    1. Servus,

      wie konntest du die Dokumentation zur SELECT Syntax im Manual übersehen?

      Gruss
      Patrick

      das problem ist leider, dass ich garicht weiss wonach ich suchen soll. AS kann ich leider hinter der WHERE Klausel nicht verwenden, sonst hätte ich später ein IF machen können...