Gleiche Werte auslesen

Number5

Mitglied
Hey

wie liest man 2 gleiche Werte aus einer Tabelle aus?

und wie 2 Werte die sich um x unterscheiden (INT-Feld)

Danke schonmal

N5
 
OK ich hab ne Tabelle mit spalte: betrag und veranstaltungs_id

Nun will ich alle Einträge die die gleiche VeranstaltungID haben und im Betrag nur um x (also z.B. 50) auseinander liegen.

Ich komm irgendwie grad nicht drauf, wie ich das auslese :(
 
Meinst du sowas

PHP:
Select Betrag from Tabelle where VeranstaltundID=ID and Betrag Between 'zahl  and zahl2' ;
 
Hab vielleicht noch vergessen, es geht darum immer 2 Einträge auszulesen, also der erste hat einen bestimmten Betrag, der 2. darf nur 50 höher sein und bei beiden sollte die gleiche Veranstaltung_id stehen.
 
Ich hoffe, ich habe dich richtig verstanden:
Code:
SELECT
        `a`.*
  FROM
        `Tabelle` AS `a`
  INNER JOIN
        `Tabelle` AS `b` USING (`VeranstaltundID`)
  WHERE
        `a`.`id` != `b`.`id`  -- Datensätze dürfen nicht identisch sein
    AND ABS(`a`.`foobar` - `b`.`foobar`) <= 50
Nachtrag: Ich habe nachträglich noch die Identitätsprüfung mit einbezogen, da sonst jeder Datensatz ausgewählt würde. Ich glaube, es gibt auch einen bestimmten Join, der dies gleich mit ausschließt.
 
...oder, als Variation der vorangegangenen Lösung von Gumbo:
Code:
SELECT a.Id, a.veranstaltungsID, a.Asche, b.asche, Abs(a.asche -b.asche) as Diff
      
  FROM
        Tabelle a, tabelle b

  WHERE a.id <> b.id
  AND a.veranstaltungsID = b.VeranstaltungsID
  And Abs( a.Asche - b.Asche) <= 50
  Order by Id;

Schönes Wochenende
Biber2
 
Zuletzt bearbeitet:
Also eure beiden Lösungen vermischt funktioniert es jetzt so halbwegs ;)

Mein Problem ist jetzt, dass ich mehrere VeranstaltungsIDs hab, ich aber die mit der gleichen VeranstaltungsID nur einmal ausgeben will -> DISTINCT(VeranstaltungsID) funktioniert leider nicht.

Also noch mal zum Verständnis: Betrag1: 30 Betrag2: 40 VeranstaltungsID: 1
Betrag1: 30 Betrag2: 41 VeranstaltungsID: 1

Da will ich dass es nur das erste quasi ausgibt. Dagegen bei:

Betrag1: 30 Betrag2: 40 VeranstaltungsID: 2
soll es wieder ausgegeben werden.

Ich weiß sehr speziell :D Aber könnt ihr mir nochmal helfen? :)
 
Wieso hast du nicht gleich gesagt, dass jeder Datensatz zwei Beträge hat?
Code:
SELECT DISTINCT
        *
  FROM
        `Tabelle`
  WHERE
        ABS(`Betrag1`-`Betrag2`) <= 50
 

Neue Beiträge

Zurück