2016-05-10 4 views
1

顧客番号、姓および名を検索します。 「名前」2 coloumnsを1に結合する

SELECT A.CustomerNumber (A.LName B.FName) AS Name 
FROM Customers as A 
LEFT JOIN Customers as B 
ON A.CustomerNumber=B.CustomerNumber; 

私はこれを正しく

答えて

2

それは、このような単純なものではないなら何をするのに使用できるというタイトルの列として名を表示しますか?

私は同じテーブルの同じ行と列に参加するあなたの試みで、任意の値を見ることができない...

SELECT CustomerNumber 
     ,LName + ' ' + FName AS Name 
FROM Customers; 

注意:両方の名前の部分がNULLないことを、確認してください、そうでない場合は、全体連結した文字列がNULL ...

+0

うん笑おかげでたくさんのSQLに新しいイム+「」wabout知りませんでした+ –

+0

FNameのいずれかのLNameがNULLの場合、これは失敗します。 CONCAT関数を使用することで、それを避けることができます。 –

+0

FNameとLNameの両方がデータベースを作成したときにnullではないので、問題はないはずです。 –

0

あなたはこのように、CONCAT-functionを使用することができようになります。

SELECT A.CustomerNumber, CONCAT(A.LName, ' ', B.FName) AS Name 
FROM Customers as A 
LEFT JOIN Customers as B 
ON A.CustomerNumber=B.CustomerNumber; 
+0

顧客と顧客の結合は必要ありません。 – Shnugo

+0

これは非常にうまくいくかもしれません。しかし、私はOPが投稿した元のクエリと似ているようにしました。 –

関連する問題