Hallo,
ich hab ein Riesenproblem und blättere schon seit Stunden im Internet nach einer Lösung. :-(
Folgendes Problem:
Ich habe eine Tabelle mit 3 Feldern...
Feld1|Feld2|Feld3
10|3|mym
20|3|umt
30|3|uam
10|4|aic
20|4|dic
30|4|der
So, nun möchte ich mit _einer_ Abfrage als Trefferergebnisse alle Werte die im Feld2 mit der Zahl 3 ein "m" enthalten UND gleichzeitig alle Werte die im Feld2 mit der Zahl 4 ein "i" enthalten.
Das heißt, als Ergebnis sollte 10,20 (Feld3) und 10,20 (Feld4) erscheinen, da diese beiden Paare 100%ig passen.
30 (Feld3->30|3|uma) hat zwar ein "m" und entspricht dem Suchmuster, aber die weitere Bedingung, das der Wert der Zahl 4 auch ein "i" enthält, trifft nicht zu. (30|4|der)
Ein
SELECT * from `tttt` WHERE (`Feld2` = 3 AND `Feld3` LIKE '%m%') AND (`Feld2` = 4 AND `feld3` LIKE '%i%');
funktioniert überhaupt nicht. Null Treffer.
Ein
SELECT * from `tttt` WHERE (`Feld2` = 3 AND `Feld3` LIKE '%m%') OR (`Feld2` = 4 AND `feld3` LIKE '%i%');
bringt Treffer, nur eben leider auch das 30 (Feld3->30|3|uma), da es ja "Oder" die erste Bedingung immerhin erfüllt. Doch sollte das nicht als Treffer kommen, denn 30|4|der hat kein "i" im Feld.
Das ganze sollte übrigens auch mit mehreren Werten funktionieren, denn im Feld2 kann ein Zahlenwert bis 26 stehen, was heißt, je genauer man die Suche definieren möchte, desto mehr dieser Feldpaare müssen für eine Trefferliste übereinstimmen.
Hoffe, ich konnte erklären, wie das funktionieren soll und hoffe auch, das mir jemand weiterhelfen kann???
ich hab ein Riesenproblem und blättere schon seit Stunden im Internet nach einer Lösung. :-(
Folgendes Problem:
Ich habe eine Tabelle mit 3 Feldern...
Feld1|Feld2|Feld3
10|3|mym
20|3|umt
30|3|uam
10|4|aic
20|4|dic
30|4|der
So, nun möchte ich mit _einer_ Abfrage als Trefferergebnisse alle Werte die im Feld2 mit der Zahl 3 ein "m" enthalten UND gleichzeitig alle Werte die im Feld2 mit der Zahl 4 ein "i" enthalten.
Das heißt, als Ergebnis sollte 10,20 (Feld3) und 10,20 (Feld4) erscheinen, da diese beiden Paare 100%ig passen.
30 (Feld3->30|3|uma) hat zwar ein "m" und entspricht dem Suchmuster, aber die weitere Bedingung, das der Wert der Zahl 4 auch ein "i" enthält, trifft nicht zu. (30|4|der)
Ein
SELECT * from `tttt` WHERE (`Feld2` = 3 AND `Feld3` LIKE '%m%') AND (`Feld2` = 4 AND `feld3` LIKE '%i%');
funktioniert überhaupt nicht. Null Treffer.
Ein
SELECT * from `tttt` WHERE (`Feld2` = 3 AND `Feld3` LIKE '%m%') OR (`Feld2` = 4 AND `feld3` LIKE '%i%');
bringt Treffer, nur eben leider auch das 30 (Feld3->30|3|uma), da es ja "Oder" die erste Bedingung immerhin erfüllt. Doch sollte das nicht als Treffer kommen, denn 30|4|der hat kein "i" im Feld.
Das ganze sollte übrigens auch mit mehreren Werten funktionieren, denn im Feld2 kann ein Zahlenwert bis 26 stehen, was heißt, je genauer man die Suche definieren möchte, desto mehr dieser Feldpaare müssen für eine Trefferliste übereinstimmen.
Hoffe, ich konnte erklären, wie das funktionieren soll und hoffe auch, das mir jemand weiterhelfen kann???
Kommentar