次のようなテーブルを使用します。
id doc_before doc_after
0 100
1 167 153
2 132
if existを取得したいのですdoc_after
が、else を取得しdoc_before
ます。
これを行う方法 ?
私はこのような結果が欲しい:
0 100
1 153
2 132
SELECT id
, COALESCE(doc_after, doc_before) AS the_doc
FROM the_table
;
CASE
ステートメントを使用できます。これは、サポートされているInformix構文です。
SELECT ID, CASE WHEN nvl(doc_after,'') <> '' THEN doc_after ELSE doc_before END AS doc
, CASE WHEN nvl(doc_after) <> '' THEN 'doc_after' ELSE 'doc_before' END AS camefrom
FROM yourtable