drei Suchbegriffe in drei Spalten


rernanded

Erfahrenes Mitglied
Hallo

wie ich drei Begriffe in einer Spalte suchen und finden kann klappt mit dem oberen SELECT.

Nur wie ich drei Begriffe in drei Spalten suchen und finden kann klappt mit dem unteren SELECT leider nicht.

Ziel: Alle drei eingegebenen Begriffe müssen mind. in einer der Spalten zu finden sein.

Was muß ich ändern?

MONI

PHP:
$stmt = $pdo->prepare("SELECT * FROM sumasumarum WHERE title LIKE :search_1 AND title LIKE :search_2 AND title LIKE :search_3 ORDER BY RAND() LIMIT 0,10");
       
$stmt = $pdo->prepare("SELECT * FROM sumasumarum WHERE
(title LIKE :search_1 AND title LIKE :search_2 AND title LIKE :search_3) OR
(keywords LIKE :search_1 AND keywords LIKE :search_2 AND keywords LIKE :search_3) OR
(description LIKE :search_1 AND description LIKE :search_2 AND description LIKE :search_3) ORDER BY RAND() LIMIT 0,10");
 

Yaslaw

n/a
Moderator
Zum Beispiel so kjönnte es gehen, wenn es nicht drauf an kommt, dass die Suchbegriffe in versch. Spalten gefunden werden
SQL:
select t1.*
from
	(select T.* from T where T.field_1 like :search_1 or T.field_2 like :search_1 or T.field_3 like :search_1) as t1,
	(select T.id from T where T.field_1 like :search_2 or T.field_2 like :search_2 or T.field_3 like :search_2) as t2,
	(select T.id from T where T.field_1 like :search_3 or T.field_2 like :search_3 or T.field_3 like :search_3) as t3
where
	t1.id = t2.id
	and t1.id = t3.id
 

rernanded

Erfahrenes Mitglied
@Yaslaw

Die drei Suchbegriffe sollten in allen drei Spalten gesucht und gefunden werden können.

In mind. einer Spalte muß jeder Suchbegriff enthalten sein. Ich muß also irgendwie/-wo ein "AND" benutzen.
 

Neue Beiträge