1

次のようなテーブルを使用します。

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
4

3 に答える 3

2
SELECT id
  , COALESCE(doc_after, doc_before) AS the_doc
FROM the_table
   ;
于 2013-02-16T16:36:11.210 に答える
1

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
于 2013-02-16T16:27:51.930 に答える