phpbar.de logo

Mailinglisten-Archive

Re: locate - vorher order by / group by having...
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: locate - vorher order by / group by having...



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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive