2015-01-15 15 views
5

私は、以下の質問がベストプラクティスではないことを理解します。重複するサブストリングの削除

次の構造を持つ表があります。キーワード列とタイトル列がマッシュアップ列に連結されています。

 
+------------+------------+-----------------------+ 
| 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   | 
+------------+------------+-----------------------+ 

これは可能ですか?私は解決策を見つけることができないようです。ありがとう!

EDIT:

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

答えて

6

はこれを試してみてください:

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

チェックこのSQL FIDDLE DEMO

OUTPUT

| KEYWORD |  TITLE |   MASHUP | 
|------------|------------|------------------| 
|  Green |  Green |   Green | 
|  Green | Watermelon | Green Watermelon | 
| Watermelon | Watermelon |  Watermelon | 
+0

はthaのために多くのことを感謝t!私はあなたがここでやったことを部分的に理解していると思います。余分な列を持つ別の例を使って質問を編集しましたが、複数の列がある場合はどうなりますか? – BubblewrapBeast

+0

これは、データが列に入力される前に行われますか?それ以降は自動的に更新されますか? – BubblewrapBeast

+0

ありがとうございました!また、私の編集した質問のように、もっと多くの列でこのことを行う必要がある場合、どうなるかを理解する助けとなります。ありがとうございました – BubblewrapBeast