Removing Duplicated Substrings

2019-06-20 23:14发布

问题:

I understand that the following question may not be best practice.

I have a table that has the following structure, the keyword column and title column concat into the mashup column.

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

I would like to know if there is a way of "deduping" the string. So my table will look more like the below:

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

Is this possible? I can't seem to find a solution. Thanks!

EDIT:

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

回答1:

Try this:

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

Check this SQL FIDDLE DEMO

OUTPUT

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