选择用于在表中选择两列的脚本

时间:2014-07-30 19:34:44

标签: sql postgresql null union

我需要帮助编写一个Select脚本,它根据条件从两列中选择数据 说,我有一张桌子:

Table: X 
Columns: ID, Type , and Old_type

Old_type包含空值或历史类型值,列Type具有类型值或覆盖的Old_type值:

Id     Type          Old_type
 1     ABC           NULL
 2     ZYZ           BCD

我需要编写一个脚本,如果Type列为null,则从列Old_type中选择数据,否则应选择单独行中Type列的值Old_type在另一行。或者我只需要以下输出:

Output
Id   Type
1    ABC
2    ZYX
2    BCD

1 个答案:

答案 0 :(得分:1)

UNION ALL可以解决问题:

SELECT id, type FROM x
UNION  ALL
SELECT id, old_type FROM x WHERE old_type IS NOT NULL
ORDER  BY id;