Guten Tag,
ich hänge gerade bei einer mySQL - Abfrage fest und hoffe, hier die Lösung zu bekommen. Danke schon mal im Voraus für hilfreiche Tipps.
Folgende Situation:
ich nutze mySQL, um Daten, die ich als csv-Dateien bekommen habe, neu und anders mit einander zu verknüpfen. Letztlich brauche ich csv-Dateien mit einer bestimmten Datenstruktur zum Import in eine Software.
Habe 2 Tabelle (accounts und contacts). Jetzt will ich die Tabelle contacts updaten, und zwar immer dort, wo in deren Spalte contacts.ACC_ID eine Zahl NACH einem Komma (Spalte hat ein Text-Format) einer accounts.ACC_ID entspricht. Das Kommt dient hier als Trennzeichen zwischen 2 Zahlen.
Bsp:
accounts.AAC_ID = 253
contacts.ACC_ID = 227,253 > Update
Versucht habe ich es so in der Art:
Update `contacts`,`accounts` set `... WHERE REGEXP_REPLACE(`contacts`.ACC_ID, '^([0-9]),([0-9])$', '\3') = `accounts`.ACC_ID
(ich will den Inhalt von `contacts`.ACC_ID in (irgendwas)Komma(irgendwas) aufsplitten und den 3. Teil davon mit `accounts`.ACC_ID vergleichen)
Mehr als 1 Komma gibt es in der Spalte contacts`.ACC_ID nicht und eine Beschränkung auf nur die Felder, die ein Komma enthalten, ergänze ich dann noch.
Problem:
Datenbank meldet "FUNCTION dbxxx.REGEXP_REPLACE existiert nicht"
Meine Fragen dazu:
- Kann es sein, dass die Nutzung dieser Funktion in der Datenbank untersagt ist (ist ein managed Server)?
- ist meine Schreibweise in der Benutzung der Funktion falsch ?
- gibt es eine geeignetere Funktion für meinen Zweck und wenn ja: mit welcher Schreibweise ?
Viele Grüße
Pingu
ich hänge gerade bei einer mySQL - Abfrage fest und hoffe, hier die Lösung zu bekommen. Danke schon mal im Voraus für hilfreiche Tipps.
Folgende Situation:
ich nutze mySQL, um Daten, die ich als csv-Dateien bekommen habe, neu und anders mit einander zu verknüpfen. Letztlich brauche ich csv-Dateien mit einer bestimmten Datenstruktur zum Import in eine Software.
Habe 2 Tabelle (accounts und contacts). Jetzt will ich die Tabelle contacts updaten, und zwar immer dort, wo in deren Spalte contacts.ACC_ID eine Zahl NACH einem Komma (Spalte hat ein Text-Format) einer accounts.ACC_ID entspricht. Das Kommt dient hier als Trennzeichen zwischen 2 Zahlen.
Bsp:
accounts.AAC_ID = 253
contacts.ACC_ID = 227,253 > Update
Versucht habe ich es so in der Art:
Update `contacts`,`accounts` set `... WHERE REGEXP_REPLACE(`contacts`.ACC_ID, '^([0-9]),([0-9])$', '\3') = `accounts`.ACC_ID
(ich will den Inhalt von `contacts`.ACC_ID in (irgendwas)Komma(irgendwas) aufsplitten und den 3. Teil davon mit `accounts`.ACC_ID vergleichen)
Mehr als 1 Komma gibt es in der Spalte contacts`.ACC_ID nicht und eine Beschränkung auf nur die Felder, die ein Komma enthalten, ergänze ich dann noch.
Problem:
Datenbank meldet "FUNCTION dbxxx.REGEXP_REPLACE existiert nicht"
Meine Fragen dazu:
- Kann es sein, dass die Nutzung dieser Funktion in der Datenbank untersagt ist (ist ein managed Server)?
- ist meine Schreibweise in der Benutzung der Funktion falsch ?
- gibt es eine geeignetere Funktion für meinen Zweck und wenn ja: mit welcher Schreibweise ?
Viele Grüße
Pingu
Comment