在Oracle 11g中,Oracle 增加了2個查詢:pivot(行轉列) 和unpivot(列轉行) pivot(聚合函數 for 列名 in(類型)) ,其中 in('') 中可以指定別名,in中還可以指定子查詢 行轉列: select * from rhsa_gcfx_result orde ...
在Oracle 11g中,Oracle 增加了2個查詢:pivot(行轉列) 和unpivot(列轉行)
pivot(聚合函數 for 列名 in(類型)) ,其中 in('') 中可以指定別名,in中還可以指定子查詢
行轉列:
select * from rhsa_gcfx_result order by org_id,item,dictname
select org_id,item,sum(value) from rhsa_gcfx_result where dictname = '入院途徑' and 1=1 group by item,org_id order by org_id,item
將item列轉換成行
select * from (select org_id,item,sum(value) value from rhsa_gcfx_result where dictname = '入院途徑' and 1=1 group by item,org_id)
pivot (sum(value) for item in ('1. 急診' 急診 , '2. 門診' 門診, '3. 其他醫療機構轉入' 其他醫療機構轉入, '9. 其他' 其他))