2017-11-27 5 views
0

これは私がやりたいことで、 'the'と3〜8文字で始まる本のタイトルを取得してから、特定のテキストの 'CONCAT'テーマを取得します。 私はこれを試してみましたが、それはうまくいきませんでした:これは私が得るものですMySqlのREGEXPを入れ子にしたSELECT

select concat((select title from books where title REGEXP '^the.{3,8}$'), '.....') from books; 

+-----------------------------------------------------------------------------+ 
| concat((select title from books where title REGEXP '^the.{3,8}$'), '.....') | 
+-----------------------------------------------------------------------------+ 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
| The Circle.....                | 
+-----------------------------------------------------------------------------+ 
16 rows in set (0.00 sec) 
+2

サンプル結果を教えてください。 – cdaiga

+0

あなたの正規表現 '^ the。{3,8} $'は 'books'テーブルの' title'が 'the'で始まり' 3-8'文字で終わることを示唆しています。これは、あなたの望むことですか ? – SALEH

+0

出力を追加しました –

答えて

3

私はあなたが出力として望むものを知っていないので、そのようなことがあれば動作しますMySQLバージョン> = 5.5:

SELECT concat(title, '....') as My_title 
FROM book 
WHERE title REGEXP '^the.{3,8}$' 
+0

こんにちは、私は 'the'で始まる本のタイトルを全て手に入れたいです3〜8文字、次に「CONCAT」テーマ、または各タイトルに特定のテキストを追加する –

+0

本当にうまくいっていますが、まだまだ私は実践的な生活の中で入れ子にされた選択を使用する方法を知りたいです –

+0

実際の生活では、ネストされた選択。 70%のケースでは、Inner Join/Left Joinを使用するか、結果をピボットする必要がある場合は、/ selectのサブクエリよりも優れたケースを使用します。 –

関連する問題