2011-07-04 4 views
1

テーブルから 'Bo%'や 'Ni%'のような名前を選択して、Boやaのような特定の名前を付けたいそのようなすべての名前にNiのような特定の名前。 しかし、私はエイリアス名を与えても動作しません。mysqlのlike演算子にエイリアス名を与える方法

「Bo%」は男性、「Ni%」は女性のような名前です。 どうすればいいですか?

答えて

1

SQLでは、列や表のエイリアスを設定できます。値ごとに列名を変更することはできません。後で操作するために名前を参照できるように、名前は一貫している必要があります。

あなたが見たい各オプションに列を専用にする必要があります。

SELECT CASE WHEN t.col LIKE 'Bo%' THEN t.col ELSE NULL END AS male, 
     CASE WHEN t.col LIKE 'Ni%' THEN t.col ELSE NULL END AS female 
    FROM YOUR_TABLE t 

を...しかし、それは男性または女性の列がnullになる可能性を意味します - の両方がある場合もないLIKE試合になります。

name male female 
------------------- 
Bob  Bob NULL 
Nirmal NULL Nirmal 
Xander NULL NULL