2016-07-14 21 views
0

値を基にして異なる連結文字列を返すselectを作成することが可能かどうか疑問に思っています。あなたはifを使用することができますSQL Server:選択したコンカチェットの1つを選択

SELECT 
    CASE WHEN Gender = 'male' THEN CONCAT(Name,'Tom',Gender) 
     WHEN Gender = 'female' THEN CONCAT(Name,'Kate',Gender) END AS anyname 
    // If it's Sql Server, CONCAT(Name,'Tom',Gender) can be Name + 'Tom' + Gender 
    // If it's Oracle, CONCAT(Name,'Tom',Gender) can be Name || 'Tom' || Gender 
FROM TableA 
+0

どのデータベースを使用しましたか? – Blank

+0

構文が – Jens

+0

の場合、期待される出力といくつかのサンプルデータを提供してください。 – TheGameiswar

答えて

2

ような何かをできるようにしたいと思い3列

Name | Age | Gender 

を持っています。ここでは非常に簡単な例:SQL Serverでは

select 
if (
    Gender = 'male', 
    concat(Name,'Tom',Gender), 
    if (Gender = 'female', concat(Name,'Kate',Gender), 'neither male nor female') 
) 
from yourTable; 
1

表Aは、私はこれを試してみてください。この

select 
    --if Gender = male 
    concat(Name,'Tom',Gender) 
    --if Gender = female 
    concat(Name,'Kate',Gender) 
+0

あなたがiifを意味すると思う:) – TheGameiswar

0

select Name + case when Gender = 'male' then 'Tom' else 'Kate' end + Gender as NewColumn 
from TableA 
0

だけで選択している場合、または場合いかなるせずに、この単純なを試してみてください:場合は、入れ子に使用することができますあなたの場合は

select if(1 = 1, 'true', 'false'); 

select (select concat(Name,'Tom',Gender) as Male from table where Gender = male),(select concat(Name,'Kate',Gender) as Female from table where Gender = female) from table 
+0

これは、 – Saeid

関連する問題