MySQL: MATCH AGAINST Abfrage auf 2 Tabellen

Sebbole

Grünschnabel
Hallo zusammen,

ich hoffe Ihr könnt mir helfen, ich komme nicht so recht weiter..

Ich habe folgende DB Struktur:

Tabelle1 -> uid, pid, teasertext
Tabelle2 -> uid, pid, bodytext

Der User gibt in einem Textfeld nun einen Text ein welcher aus teasertext und bodytext besteht, ohne erkennbaren Trenner.

Nun sollen über eine MATCH AGAINST Abfrage Texte passend zum Suchtext angezeigt werden.

Über nur 1 Feld klappt das ja auch wunderbar:

Code:
SELECT
               a.uid, a.pid, a.bodytext
		, MATCH(a.bodytext) AGAINST('$s') as score
		, b.maxrelevance
		, (MATCH(a.bodytext) AGAINST('$s'))/b.maxrelevance*100 as relevanceperc
		FROM
		tt_content a
		, (SELECT MAX(MATCH(bodytext) AGAINST('$s')) as maxrelevance FROM tt_content LIMIT 1) b
		WHERE
		MATCH(a.bodytext) AGAINST('$s')
		ORDER BY
		score DESC

Nur wie kann ich die Abfrage über 2 Felder in 2 Tabellen realisieren und dabei die beiden DB Felder quasi als eines behandeln?
Geht das überhaupt?

Ich hoffe ich habe mich nicht zu kompliziert ausgedrückt :O

Danke schon mal für die Hilfe
 
geht das nicht einfach so ?
SQL:
SELECT
    *
FROM
    table_a AS a
    INNER JOIN table_b AS b
        ON a.id = b.a_id
WHERE
    MATCH(a.bodytext, b.teaserText) AGAINST ('$s')
 
Zuletzt bearbeitet von einem Moderator:
Zurück