我有一个表,具有简单的结构:分割行数据的列
USER_ID,月,平衡,balance_type
我想显示每月选择平衡类型为每个用户那就是:
USER_ID,月,balance_1,balance_2,balance_3,平衡_...
所以从数据:
ROW user_id month balance balance_type
1 5667 09 20 2068
2 5667 08 23 2068
3 5667 07 21 2068
4 5667 06 19 2068
5 5667 10 22 2068
6 5667 09 20 2069
7 5667 08 23 2069
8 5667 06 19 2069
9 5667 07 21 2069
10 5667 10 22 2069
11 5667 09 4199 2114
12 5667 06 4329 2114
13 5667 08 4365 2114
14 5667 10 4172,88 2114
15 5667 07 4000 2114
16 5667 10 572,1 6062
17 5667 08 598,44 6062
18 5667 07 548,4 6062
19 5667 06 593,51 6062
20 5667 09 575,69 6062
我会得到例如用于每月09:
user_id, month, balance_1, balance_2, balance_3, balance_4
5667 09 20 20 4199 575,69
,这是什么在SQL和/或PL/SQL的最佳解决方案?
如果您正在使用11G看到PIVOT子句:http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/analysis.htm#DWHSG0209如果使用9I或10g看到这一点:HTTP ://asktom.oracle.com/pls/asktom/f p = 100:11:0 :::: P11_QUESTION_ID:419593546543。 – Yas 2009-02-19 13:40:20