2017-02-22 47 views
0

Я не слишком много SQL, поэтому вам нужна помощь с чем-то простым.SQL - найти и заменить в пределах одного столбца на основе запроса по другому

У меня есть следующие Table:

ID term value 
-------------- 
1 term1 slug/ 
2 term1 slug/ 
3 term2 something/something 
4 term2 slug/ 
5 term3 slash-/-something 

То, что я хочу сделать, это найти / в колонке value и REPLACE с пустой строкой, но только там, где term равно term1

Результат будет be:

ID term value 
-------------- 
1 term1 slug 
2 term1 slug 
3 term2 something/something 
4 term2 slug/ 
5 term3 slash-/-something 

Я могу ВЫБРАТЬ все в term, что равно term1, и я могу НАЙТИ И ЗАМЕНИТЬ все в value с /, но я не могу понять, как объединить две операции.

Примечание: Я признаю, что нет операции НАЙТИ И ЗАМЕНИТЬ.

+1

Что ты говоришь? 'Я признаю, что нет операции FIND AND REPLACE' ??? Wordpress обычно использует MySql, вам просто нужно обновить эту таблицу 'update value = replace (value, '/', ''), где term = 'term1'' –

+1

Я имел в виду конкретно, что я знаю, что он не называется FIND AND REPLACE , И, к сожалению, то, что вы предоставили, не работает –

+0

Как вы его запустили и что было сообщением об ошибке? –

ответ

1

Вам просто нужно выполнить команду Update в базе:

update yourTableNameHere 
    set value = replace(value, '/','') 
where term = 'term1' 
+0

Спасибо. это имеет смысл теперь, когда я вижу это вместе. –

+0

Рад, что я мог бы помочь :) –

0

Попробуйте это:

SELECT ID, term, CASE WHEN term = 'term1' THEN REPLACE(value, '/','') 
     ELSE value 
    END AS value 
FROM tablename