1

ファーストネーム、ミドルネーム、ラストネームの列が別々のメンバーテーブルがあります。

id,firstname,middlename,lastname,role,photo

1 回のクエリで完全な名前を取得するにはどうすればよいですか? キーワードを使用してみASましたが、これらの 3 つの列を 1 つに結合する方法がわかりません。

SELECT id,lastname AS name FROM members ORDER BY role

たとえば、フルネーム (名、ミドルネーム、姓) を取得したい場合はname、もちろん各値の間にスペースを入れます。

4

2 に答える 2

3

CONCAT_WS( )を使用

SELECT ID, CONCAT_WS(' ', firstname, middlename, lastname) AS Name
FROM   members 
ORDER  BY role

DOCから、

CONCAT_WS() は Concatenate With Separator の略で、CONCAT() の特殊な形式です。最初の引数は、残りの引数のセパレータです。連結する文字列の間にセパレータが追加されます。セパレータは、残りの引数と同様に文字列にすることができます。セパレータが NULL の場合、結果は NULL になります。

于 2013-08-14T15:44:13.897 に答える