Hallo Leute,
ich möchte zur Suche eine Indextabelle verwenden (wie beim vBulletin Board). Da ich 2 Datenfelder habe, die durchsucht werden können (Einzeln oder mit UND Verknüpfung), wollte ich die Ergebnisse aus der 1. Indextabelle mit der 2. verknüpfen aber nur die gemeinsamen Treffer anzeigen lassen.
Die beiden Tabellen sehen wie folgt aus:
CREATE TABLE index_titel (
wordid int(10) unsigned NOT NULL default '0',
lid int(10) unsigned NOT NULL default '0',
KEY wordid(wordid,lid)
)
Wordid zeigt auf das gesuchte Word und lid ist die ID des Treffers.
Wenn ich nur einen Index abfrage, kann ich da problemlos mit
SELECT DISTINCT lid FROM index_artists WHERE wordid IN (0,2,45,62,5)
Da ich ja nun beide Tabellen verknüpfen will, habe ich folgende Query versucht, bekomme aber einen Fehler.
SELECT lid FROM index_artists WHERE wordid IN ($wordids_artists) INTERSECT SELECT lid FROM index_titel WHERE wordid IN ($wordids_titel)
Oder muss ich die Tabellen einzeln abfragen und die Ergebnisse dann mit php zusammenlegen ?
ich möchte zur Suche eine Indextabelle verwenden (wie beim vBulletin Board). Da ich 2 Datenfelder habe, die durchsucht werden können (Einzeln oder mit UND Verknüpfung), wollte ich die Ergebnisse aus der 1. Indextabelle mit der 2. verknüpfen aber nur die gemeinsamen Treffer anzeigen lassen.
Die beiden Tabellen sehen wie folgt aus:
CREATE TABLE index_titel (
wordid int(10) unsigned NOT NULL default '0',
lid int(10) unsigned NOT NULL default '0',
KEY wordid(wordid,lid)
)
Wordid zeigt auf das gesuchte Word und lid ist die ID des Treffers.
Wenn ich nur einen Index abfrage, kann ich da problemlos mit
SELECT DISTINCT lid FROM index_artists WHERE wordid IN (0,2,45,62,5)
Da ich ja nun beide Tabellen verknüpfen will, habe ich folgende Query versucht, bekomme aber einen Fehler.
SELECT lid FROM index_artists WHERE wordid IN ($wordids_artists) INTERSECT SELECT lid FROM index_titel WHERE wordid IN ($wordids_titel)
Oder muss ich die Tabellen einzeln abfragen und die Ergebnisse dann mit php zusammenlegen ?