misterunknown: MYSQL : UPDATE und SELECT. über zwei Tabellen

Beitrag lesen

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.