Moin,
ja es handelt sich dabei um Mysql, abe rich habe es im Titel vermerkt, abe rim Text dann icht mehr sorry.
Stimmt, hatte ich gar nicht gesehen ;)
Ich möchte keinen "SEPARATOR '|'" suchen sondern die Werte Wien... aus der ersten Tabelle in der zweiten, und wenn vorhanden dann ok=1
Diese Subquery ist nur dafür da, dass der reguläre Ausdruck zusammengebaut wird.
Oder habe ich da was nicht kapiert, und es sthet schon da???
Ja, das scheint so ;)
UPDATE -- Aktualisiere die ...
table2 -- ... tabelle2 ...
SET ok=1 -- ... indem du das Feld 'ok' auf 1 setzt ...
WHERE text REGEXP -- ... wenn das Feld 'text' folgenden regulären Ausdruck matched:
(SELECT GROUP_CONCAT(name SEPARATOR '|') FROM table1)
~~~wenn du ~~~sql
SELECT GROUP_CONCAT(name SEPARATOR '|') FROM table1
~~~in den Editor eingibst, dann siehst du, dass er einfach alle Wörter aus der ersten Tabelle selektiert und |-getrennt ausgibt. Nach der Ausführung der Subquery sieht es also so aus:
~~~sql
UPDATE table2 SET ok=1 WHERE text REGEXP 'Wein|Haus|Wien'
~~~das Zeichen | heißt in regulären Ausdrücken "oder".
Ich hoffe ich konnte das verständlich erklären.
Grüße Marco
--
Ich spreche Spaghetticode - fließend.