2016-04-17 18 views
1

2〜10語の長さのフィールドフィールド、FieldSがあります。単語「X」を含むすべてのフィールドを簡単に見つけることができますが、私が探しているのは、「X NextWord」を使ってすべてのユニークな単語のペアを抽出することです。明らかに私は フィールド内の特定の単語の後に単語を選択します。

Select FieldS from Table1 where FieldS like '% X %' 

を行うことができますし、私は何とかここに関与 substring_indexがあると思っていますが、いくつかの試みがそう思った後、おそらく私は気づいていないのだより関連性の機能があれば私が構築することができません。

答えて

0

substring_index()でこれを2回行うことができます。

select concat(X, ' ', 
       substring_index(substring_index(field5, 'X', -1), ' ', 1) 
      ) 

注:

  • これは 'X' の文字列のみに1回発生することを前提としてい

    は、ここに1つの方法です。または、より正確には、フィールドに最後に現れる'X'を使用します。

  • これは、単語区切り文字のみがスペースであることを前提としています。

EDIT:

あなたが使用することができますX周りのスペースを懸念している場合:

select concat(X, ' ', 
       substring_index(substring_index(concat(' ', field5, ' '), ' X ', -1), ' ', 1) 
      ) 
+0

こんにちはゴードン、場合に何が起こるか 'X'は、別の単語として最後の文字の中にありますか?この回答は、「TRIPLEX NextWord」のようなものでしょうか? –

+1

@JorgeCampos。 。 。私は答えを改訂しました。 –

関連する問題