2016-04-25 9 views
0

私はPostgreSQLのマルチケースステートメントを実行しようとしていますが、私はここで複数のケースステートメント

ERROR: invalid input syntax for integer: "Blue"

のエラーを持っているが、私の構文です - 私は、この有効な構文を作るために更新を行う必要が何をすべきか?

Select 
id 
,case 
    when empid = 1 then blue 
    when empid = 2 then green 
    when empid = 3 then red 
    else empid 
end as employeecolor 
From employees 
+1

まああるとき、ケースに::textを追加疑似列「employeecolorは」一種類にする必要があることを実現します。あなたは、一方では型が整数でなければならないということをpostgresに伝えています(ある場合には 'empid'自体を返すので)。一方、型は文字列'、' blue 'など)。それは両方になることはできません。 – jmelesky

+0

@jmelesky - それは私が後になったものです。列はintですが、文字列値を返す必要があります。 –

答えて

1

ちょうどそれが

Select 
id 
,case 
when empid = 1 then blue 
when empid = 2 then green 
when empid = 3 then red 
else empid::text 
end as employeecolor 
From employees 
関連する問題