如何在postgreSQL中获取一行中的值?

How to get value in one row in postgreSQL?

我有数据库 table name emp_leave in postgreSQL9.3 like

|emp_name|department|ann_leave|med_leave|cas_leave|org_ann_lv|org_med_lv|org_cas_lv|
| Tame   |    IT    |         |         |   3     |          |          |   25     |
| Tame   |    IT    |     4   |         |         |      20  |          |          |
| Tame   |    IT    |         |      3  |         |          |      30  |          |


 I want the query result like 
|emp_name|department|ann_leave|med_leave|cas_leave|org_ann_lv|org_med_lv|org_cas_lv|
| Tame   |    IT    |    4    |    3    |   3     |    20    |    30    |   25     |

您想要聚合:

select el.emp_name, el.department, 
       max(el.ann_leave),
       . . . ,
       max(el.org_cas_lv)
from emp_leave el
group by el.emp_name, el.department;

这假设空白 space 为 null

消除空值并转换为单行

select
emp_name,
department,
min(ann_leave),
min(med_leave),
min(cas_leave),
min(org_ann_lv),
min(org_med_lv),
min(org_cas_lv)
from emp_leave
group by
emp_name,
department