Bedingung über mehrere Zeilen in einer Query

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bedingung über mehrere Zeilen in einer Query

    Hallo,

    folgende Situation. Ich habe eine Tabelle mit 3 Spalten, wie folgt:

    id | value | variation
    2 | 121 | 39
    3 | 140 | 39
    1 | 10 | 39
    2 | 121 | 40
    3 | 140 | 40
    1 | 11 | 40
    1 | 12 | 41
    3 | 140 | 41
    2 | 121 | 41


    Jetzt steht folgendes Problem. Ich möchte die "variation" Nummer erhalten welche auf 2 oder mehr Werte aus "value" Anwendung findet.

    Also Quasi die "39", wenn "value" den Werten 10,121,140 entspricht, oder die 40 wenn "value" den Werten 11,121,140 enspricht.

    Wichtig dabei ist aber, dass es mal 2 Werte sein können, aber auch 5 oder mehr.

    Mir fehlt hier der gesamte Gedankengang um eine Query zusammen zusetzen.

    Ich bin für jede Idee sehr dankbar.

    Danke und beste Grüße
    Michael

  • #2
    Die values mit OR verknüpft bzw. mit dem IN-Operator abfragen,
    Datensätze zählen,
    mit HAVING die entsprechende (Mindest-)Anzahl verlangen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Vielen Dank!

      Das funktioniert soweit. Ich mache das mit folgender Query:

      Code:
      SELECT 	id
      FROM 	Tabelle
      WHERE 	value IN (11,121,140)
      HAVING 	count(id) > 2
      Das einzige Problem liegt aber darin, das wenn er kein zutreffendes Ergebnis findet er nicht false ausgibt, sondern mir den ersten Eintrag aus der Tabelle liefert!

      Wie kann ich das noch unterbinden?

      Vielen Dank und beste Grüße
      Michael

      Kommentar

      Lädt...
      X