簡體   English   中英

如何在postgreSQL的一行中獲取價值?

[英]How to get value in one row in postgreSQL?

我在postgreSQL9.3中有數據庫表名稱emp_leave

|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;

這假定空白為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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM