oracle行轉列實踐

2022-09-20 02:36:15 字數 804 閱讀 7368

在oracle 11g中,oracle 增加了2個查詢:pivot(行轉列) 和unpivot(列轉行)

pivot(聚合函式 for 列名 in(型別)) ,其中 in('') 中可以指定別名,in中還可以指定子查詢

行轉列:

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. 其他' 其他))

oracle 行轉列,多行轉列

問題描述 應公司要求,設計功能,乙個id,對應不同的值,展示的時候不同的值拼接展示,如何實現 解決思路 1 拼接字串,想到了 oracle function 這樣肯定能實現,但是比較麻煩 2 oracle 自帶的乙個函式 wm concat 函式 非常給力 上 測試表1 create table c...

Oracle行轉列 行變列

在寫一些複雜的sql的時候,經常需要使用到行變列的技巧,一些帳務系統的統計也經常會寫到這樣的sql。主要用到了max decode或nvl這些函式來達到目的。寫下來讓大家互相學習學習!下面是乙個行變列的例子。如表row2column2有以下資料 名字 課程 分數 1 張三 語文 80 2 張三 數學...

Oracle 分組 行轉列操作

1 原始資料 這個資料是下面sql 查出的資料 月份營業部 使用者型別 開戶獎調整 提成調整 薪酬支出調集成計 select a.trademonth trademonth,a.broker branch brokerbranch,decode b.user type,3 2 5 2 b.user ...