我正在使用报告服务来制作报告图表。但是我的数据看起来像这样:
Table1
C01 C02 C03 C04
1 2 3 4
I need to do a sql query to return data that looks like this:
Any_Col_name
1
2
3
4
我正在使用带有Oracle DB的MS Reporting Services。我不能重组这张桌子。
答案 0 :(得分:6)
select c01 from table
union all
select c02 from table
union all
select c03 from table
union all
select c04 from table
答案 1 :(得分:2)
如果您使用的是Oracle 11G及更高版本,您也可以使用unpivot,它应该比union all更高效(没有测试过这个原因我没有oracle左右)
SELECT Any_Col_name FROM table
UNPIVOT INCLUDE NULLS (Any_Col_name FOR Col IN (C01,C02,C03,C04))
答案 2 :(得分:1)
答案 3 :(得分:0)
我们已经多次解决了这个问题。您最好的行动计划是编写适当的PL / SQL函数,这些函数将遍历所有列,并将它们作为行输出。我说是这样做的,因为这可能不是你最后一次使用这个功能。