Mailinglisten-Archive |
Falk Kuehnel schrieb: > Das liegt am WHERE. Sorry, daran habe ich nicht gedacht. WHERE kann nur > vorher ausschließen, aber HAVING löst das Problem. > > select TITEL, LOCATE('rain',FILME.TITEL) AS fit from FILME HAVING > fit > 0 order by fit,TITEL > Jo, das lag am WHERE, jetzt scheitert die Anfrage zumindest nicht mehr. ABER: Das aendert nichts an dem eigentlich Inhalt von fit durch [LOCATE('rain',FILME.TITEL)] - der ist und bleibt fuer jeden Datensatz 0. Beispiel: Gefunden werden durch [WHERE TITEL LIKE '%$titel%'] alle Datensaetze, die im Feld TITEL rain enthalten (bsp. BLACK RAIN, BLACK RAINBOW, RAIN MAN). Fuer alle diese Datensaetze sollte mit LOCATE(blablabla) die erste Position von rain an fit uebergeben werden. BLACK RAIN = 7 BLACK RAINBOW = 7 RAIN MAN = 1 fit enthaelt aber fuer alle Datensaetze 0. Das heisst: Entweder bin ich vollkommen verbloedet, oder irgendwas laeuft nicht so, wie es laufen sollte. Ich bin leider nicht *fit* genug, um abschaetzen zu koennen, wie lang die Ergebnisse von LOCATE in meinem Fall sind. Die Tabelle enthaelt ca. 15.000 Datensaetze. Koennte dieses Problem etwas mit dem Server-Parameter max_allowed_packets zu tun haben? Ich hoffe, Ihr koennt mir in dieser Sache helfen. Es wurmt doch ungemein, wenn etwas eigentlich funktionieren sollte und man Stunden und Tage damit zubringt, weil es nicht funktioniert. Gruss - Christian Dassow --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive