mysql - 删除重复的子字符串

标签 mysql sql if-statement sql-update concat

我知道以下问题可能不是最佳做法。

我有一个具有以下结构的表,关键字列和标题列连接到混搭列中。

+------------+------------+-----------------------+
| Keyword    | Title      | Mashup                |
+------------+------------+-----------------------+
| Green      | Green      | Green Green           |
| Green      | Watermelon | Green Watermelon      |
| Watermelon | Watermelon | Watermelon Watermelon |
+------------+------------+-----------------------+

我想知道是否有一种方法可以对字符串进行“去重”。所以我的表格看起来更像下面这样:

+------------+------------+-----------------------+
| Keyword    | Title      | Mashup                |
+------------+------------+-----------------------+
| Green      | Green      | Green                 |
| Green      | Watermelon | Green Watermelon      |
| Watermelon | Watermelon | Watermelon            |
+------------+------------+-----------------------+

这可能吗?我似乎找不到解决办法。谢谢!

编辑:

+------------+------------+-------------+-----------------------------+
| Keyword    | Title      | Another     | Mashup                      |
+------------+------------+-------------+-----------------------------+
| Green      | Green      | Pink        | Green Green Pink            |
| Green      | Watermelon | Yellow      | Green Watermelon Yellow     |
| Watermelon | Watermelon | Black       | Watermelon Watermelon Black |
+------------+------------+-------------+-----------------------------+

最佳答案

试试这个:

UPDATE tableA 
SET Mashup = IF(Keyword = Title, Keyword, CONCAT(Keyword, ' ', Title));

检查这个SQL FIDDLE DEMO

输出

|    KEYWORD |      TITLE |           MASHUP |
|------------|------------|------------------|
|      Green |      Green |            Green |
|      Green | Watermelon | Green Watermelon |
| Watermelon | Watermelon |       Watermelon |

关于mysql - 删除重复的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964397/

相关文章:

c# - 使用 sp_executesql 运行时相同的 SQL 查询很快,如果在查询分析器中作为动态查询执行则非常慢,为什么?

jquery - 如何使用Jquery对每个匹配元素重复IF语句

php - 否则更新类别回显显示图像

php - 不区分大小写的MySQL搜索?

php - Laravel 连接表

sql - 批量插入、SQL Server 2000、unix 换行符

SQL Azure 链接数据库

mysql - Laravel Query 获取列上的不同值,但在使用 orderby 获取最新的不同值之后

mysql - 独特的帮助

javascript - 是否可以从输入中搜索元素数组?