phpmyadmin SQL-Befehl

THOMASBAUER.cc

Cadet 4th Year
Registriert
Aug. 2007
Beiträge
86
Hallo, liebe Leute.
ich bräuchte für folgendes Hilfe.
Ich habe in einer Tabelle jr_streckenart und jr_distanz

Nun möchte ich folgenden SQL-Befehl:
WENN in jr_distanz die Zeichenfolge "5 km" enthalten ist, dann soll an das Ende von jr_streckenart folgendes "5-kilometer-lauf*"

Müsste das mit SET und WHERE möglich sein?

UPDATE `ngie_jreviews_content`
SET `jr_streckenart` = ???
WHERE `jr_distanz` = ???

LG
 
UPDATE `ngie_jreviews_content `
SET `jr_streckenart` = CONCAT('jr_streckenart', '5-kilometer-lauf* ')
WHERE `jr_distanz` LIKE '%5 km';

Edit: Achnee, da fehlt der Inhalt von 'jr_streckenart' upsi.

UPDATE `ngie_jreviews_content `
SET `jr_streckenart` = `jr_streckenart` + '5-kilometer-lauf*'
WHERE `jr_distanz` LIKE '%5 km%';
 
also das funktioniert leider nicht mit der unten genannten formel
da ist dann in streckenart der bisherige inhalt weg und es steht nur eine 5 da

die mit CONCAT geht auch nicht. da habe ich dann folgendes
jr_streckenart5-kilometer-lauf*
 
Die Version mit CONCAT hängt jr_streckenart auch als string an, anstatt den Inhalt der Spalte jr_streckenart zu benutzen. Die 2. Version sollte aber funktionieren. Hast du das per Copy&Past probiert oder abgeschrieben?
 
Beispiel
jr_streckenart hat folgenden inhalt: *kinderlauf*straßenlauf*
jr_streckenart soll aber folgenden inhalt bekommen: *kinderlauf*straßenlauf*5kilometerlauf*

UPDATE `ngie_jreviews_content`
SET `jr_streckenart` = `jr_streckenart` + '5kilometerlauf*'
WHERE `jr_distanz` LIKE '% 53434 km%' AND `jr_sportart` LIKE '%laufen%';

Ich habe in einem Datensatz "53434 km" als Teil von jr_distanz um die Formel zu testen
Nach dem Anwenden der Formel hat jr_streckenart nur noch "5" als Inhalt. sonst gar nichts.

PS: Ich habe von 5-kilometer-lauf auf 5kilometerlauf korrigiert, weil ich dachte der Bindestrich könnte vl das Problem sein


Darlis schrieb:
Die Version mit CONCAT hängt jr_streckenart auch als string an, anstatt den Inhalt der Spalte jr_streckenart zu benutzen. Die 2. Version sollte aber funktionieren. Hast du das per Copy&Past probiert oder abgeschrieben?

Ich habe die Formel in einen Texteditor kopiert und wie oben beschrieben angepasst. Leider funktioniert die nicht so wie gewünscht
 
Das "+" ist eine Addition von daher hast du nur noch die 5.

Bezeichnet ein Datenfeld:
Code:
`jr_streckenart`

Bezeichnet einen String:
Code:
'jr_streckenart'

Das sollte funktionieren:
Code:
UPDATE `ngie_jreviews_content`
SET `jr_streckenart` = CONCAT(`jr_streckenart`, '5-kilometer-lauf*')
WHERE `jr_distanz` LIKE '%5 km';
 
Zurück
Oben