0
A
回答
0
您可以使用PIVOT條款。 但是,您需要爲每個帳戶分配它在課程中的列名稱。 您可以使用row_number,rank或dense_rank。
WITH tab AS
(SELECT 'A1' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A2' ACCOUNT, 'C2' CLASS FROM dual UNION ALL
SELECT 'A3' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A4' ACCOUNT, 'C3' CLASS FROM dual UNION ALL
SELECT 'A5' ACCOUNT, 'C3' CLASS FROM dual UNION ALL
SELECT 'A6' ACCOUNT, 'C2' CLASS FROM dual UNION ALL
SELECT 'A7' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A8' ACCOUNT, 'C4' CLASS FROM dual UNION ALL
SELECT 'A9' ACCOUNT, 'C5' CLASS FROM dual UNION ALL
SELECT 'A10' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A11' ACCOUNT, 'C2' CLASS FROM dual UNION ALL
SELECT 'A12' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A13' ACCOUNT, 'C3' CLASS FROM dual UNION ALL
SELECT 'A14' ACCOUNT, 'C3' CLASS FROM dual UNION ALL
SELECT 'A15' ACCOUNT, 'C2' CLASS FROM dual UNION ALL
SELECT 'A16' ACCOUNT, 'C1' CLASS FROM dual UNION ALL
SELECT 'A17' ACCOUNT, 'C1' CLASS FROM dual)
SELECT *
FROM (SELECT CLASS,
ACCOUNT,
row_number() OVER (PARTITION BY class ORDER BY account) col_num
FROM tab)
PIVOT (MAX(account) FOR col_num IN (1,2,3,4,5,6,7,8))
本示例按字母順序對帳戶進行排序(A1,A10,A12,A16,A3,A7,...)。 如果您需要其他排序,在row_number函數的ORDER BY子句中實現也不難。
相關問題
- 1. 轉換長格式的廣泛
- 2. 如何從長更改數據的廣泛形式的Java
- 3. oracle長數轉換
- 4. 重塑數據幀從廣泛到長
- 5. 轉換數據表到泛型列表
- 6. 在Oracle數據庫模式中轉換SQL服務器模式
- 7. oracle adf或oracle形式
- 8. 轉換SQL到lambda表達式或LINQ
- 9. 合併具有廣泛形式完整數據的NA的長型數據以覆蓋NA
- 10. 將Oracle或Sql Server DDL轉換爲Derby
- 11. Oracle sql或plsql將行轉換爲列
- 12. 以圖形方式顯示來自oracle sql表的數據
- 13. 通過數據表從XML節點到SQL的廣泛想法?
- 14. 從寬幅轉換數據,以長格式在SQL
- 15. 蟾蜍爲Oracle - 重塑從廣泛到長
- 16. 問題在泛型列表<string>或String []數組轉換爲數據表
- 17. 轉換數據表格式
- 18. Oracle查看數據轉換
- 19. OAuth被廣泛接受嗎?
- 20. 轉換數據,以指定的形式
- 21. 將數據轉換爲矩陣形式
- 22. 形式轉換和數據刷新
- 23. 爲什麼不使用廣泛的ostream進行隱式轉換?
- 24. 如何在數據表中以長格式和寬格式轉換數據
- 25. 將COleDateTime轉換爲刻度或整數表示形式
- 26. 隱式轉換IEnumerable轉換爲泛型
- 27. excel公式或宏自動將長格式數據轉換爲寬格式
- 28. SQL在Oracle中創建或替換表
- 29. 無法在oracle中將長數據類型轉換爲xml
- 30. 大熊貓數據轉換長寬長