2017-11-27 2 views
0

das, was ich tun möchte, erhalten Sie die Buchtitel, die mit "the" und dann 3 bis 8 Zeichen und dann "CONCAT" Thema mit einem bestimmten Text beginnen. Ich versuchte dies aber es hat nicht funktioniert:Geschachtelte SELECT mit REGEXP in MySql

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

Dies ist, was ich bekommen:

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

Können Sie bitte ein Beispielergebnis geben? – cdaiga

+0

Ihr Regex '^ the. {3,8} $' schlägt vor, dass der ausgewählte 'Titel' der' books' Tabelle mit 'the' beginnen sollte und dann mit' 3-8' Zeichen endet. Ist das was du willst ? – SALEH

+0

Ich habe die Ausgabe, die ich bekomme –

Antwort

3

Wie ich weiß nicht, was Sie als Output wollen, so etwas wie das funktionieren würde, wenn Mysql Version > = 5.5:

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

Hallo, ich möchte alle Buchtitel, die beginnen mit "the" und dann 3 bis 8 Zeichen und dann "CONCAT" Thema -oder jedem Titel hinzufügen- mit einem spezifischen Text –

+0

Vielen Dank, dass wirklich funktioniert, aber immer noch würde ich gerne wissen, wie verschachtelte wählen Sie im praktischen Leben –

+0

Im praktischen Leben versuchen, a zu vermeiden verschachtelt auswählen. In 70% Fall verwenden Sie Inner Join/Left Join oder wenn Sie das Ergebnis "pivotieren" müssen, ist eine gute Verwendung einer Groß-/Kleinschreibung besser als eine Unterabfrage in einer Auswahl –