Varchar列があるテーブルがあります'someid'
といくつかのタイムスタンプ列:'date_1', ... , date_4
および'xdate_1', ... , xdate_4
「someid」の値に応じて2つを選択しようとしていますが、今まで運がありませんでした。これは構文であると確信しています。すべての例が私のクエリに似ていたので、グーグルも役に立ちませんでした。
これが私がやろうとしていることです:
select
case
when someid = 1 then date_1
when someid = 2 then date_2
when someid = 3 then date_3
when someid = 4 then date_4
,case
when someid = 1 then xdate_1
when someid = 2 then xdate_2
when someid = 3 then xdate_3
when someid = 4 then xdate_4
from mytable;
end
を忘れました
select
case
when someid = 1 then date_1
when someid = 2 then date_2
when someid = 3 then date_3
when someid = 4 then date_4
end as col1
,case
when someid = 1 then xdate_1
when someid = 2 then xdate_2
when someid = 3 then xdate_3
when someid = 4 then xdate_4
end as col2
from mytable;
注意として、someid
が文字列の場合、文字比較を使用する必要があります。
select (case when someid = '1' then date_1
when someid = '2' then date_2
when someid = '3' then date_3
when someid = '4' then date_4
end),
. . .
from mytable;