Rene: vergleich aus 2 tabellen mit tolleranzangabe

http://gruselstunde.gr.funpic.de/rest/frage.htm

oje ich hab mal ein riesen problem, ich hoffe ihr könnt mir hier weiterhelfen.

ich habe 2 tabellen wo ich bei kunde den wert1 und wert2 in der 1. u nd in der 2. tabelle vergleichen will. ist der wert1 und der wert2 in beiden tabellen identisch dann resultat anzeigen "id"

$abfrage = mysql_query("SELECT kunde, wert1, wert2 FROM tabelle1, tabelle2 WHERE tabelle1.kunde = '.$eingabefeld.' AND tabelle1.wert1 = tabelle2.wert1 AND tabelle1.wert2 = tabelle2.wert2");

tabelle1
kunde wert1 wert2

paul 10 20
hans 15 25

tabelle2
id wert1 wert2

3 15 25
4 10 20

-------------------------------------------------------------
nun wäre es genial, wenn ich zwischen den werten abweichungen zb. +- 3 integrieren könnte, so hier zb.

$abfrage = mysql_query("SELECT kunde, wert1, wert2 FROM tabelle1, tabelle2 WHERE tabelle1.kunde = '.$eingabefeld.' AND tabelle1.wert1 < '.(tabelle2.wert1+3).' AND tabelle1.wert1 > '.(tabelle2.wert1 - 3).' AND tabelle1.wert2 < '.(tabelle2.wert2 + 3).' AND tabelle1.wert2 > '.(tabelle2.wert2 - 3).'");

tabelle1
kunde wert1 wert2

paul 10 20
hans 15 25

tabelle2
id wert1 wert2

3 12 29
4 9 21

  1. Hallo,

    und was ist jetzt dein Problem? Funzt es einfach nicht? So ein Mist aber auch. ;)  Funzt das PHP nicht, oder das SQL? Oder beides?

    Eingabewerte haben wir ja schon mal, dann solls irgendeine Abweichung geben dürfen ... und was soll am Ende im konkreten Fall (bitte ein Beispiel anhand der Eingabewerte) rauskommen?

    Ciao, Frank

  2. yo,

    SELECT t1.kunde, t1.wert1, t1.wert2
    FROM tabelle1 t1, tabelle2 t2
    WHERE t11.kunde = '.$eingabefeld.'
    AND t1.wert1 BETWEEN t2.wert1 - 3 AND t2.wert1 + 3
    AND t1.wert2 BETWEEN t2.wert2 - 3 AND t2.wert2 + 3
    ;

    Ilja

    1. Da war doch grad noch ein Antwortposting auf deins?

      ... mit ABS(t1.wert1 - t2.wert1) <= 3  und so ...

      Warum wurde das gelöscht? Ich konnte darin nichts wirklich beleidigendes finden. Mein Gedächtnis kann aber auch etwas getrübt sein. Im Moment geistert hier wohl etwas die Löschwut herum?

      Ciao, Frank

      1. yo Frank,

        Da war doch grad noch ein Antwortposting auf deins?

        ... mit ABS(t1.wert1 - t2.wert1) <= 3  und so ...

        die ABS funktion ist auch eine sehr elegante lösung, habe den posting aber leider nicht gesehen. ich vermute mal, das es sich wieder um eine phantom-posting gehandelt hat, zu dem ich weiter unter auch schon mal einen betriag verfasst habe.

        ich vermute mal, hier werden beiträge einer unerwünschten person still und leise gelöscht. gut finde ich das nicht, aber ist das mit dem hausrecht....

        Ilja