Hallo,
ich möchte in meiner Tabelle bestehend aus Spalten id, name, beschreibung suchen, und abh. davon in welcher Spalte gefunden wurde, dem Suchergebnis einen Score vergeben. So habe ich es bisher gelöst:
(select *, 100 as score from t where name like ‚$keyword‘)
UNION DISTINCT
(select *, 90 as score from t where name like ‚%$keyword%‘)
UNION DISTINCT
(select *, 60 as score from t where description like ‚%$keyword%‘)
So funktioniert es schon mal. Nun dauert jede Abfrage ihre Zeit, und dann auch noch UNION DISTINCT… Geht das noch schneller? Kann man in einer einzigen SELECT-Abfrage eine derartige Bewertung durchführen?