Oracle10g 将行动态转换为列

Oracle10g 将行动态转换为列,oracle10g,pivot,dynamic-sql,Oracle10g,Pivot,Dynamic Sql,我有一张桌子: 姓名|姓氏|项目|日期|小时 aaa aaaa 1 2011年8月12日10 aaa aaaa 1 2011年8月13日8 aaa aaaa 1 14.08.2011 7 我需要这样的结果: 姓名|姓氏|项目|日期|小时|日期|小时|日期|小时|总计 aaa aaaa 1 12.08.2011 10 13.08.2011 8 14.08.2011 7 25 选择名称、姓氏、项目、, MAXDECODEC,1,日期, MAXDECODEC,1,小时, MAXDECODEC,2,日期

我有一张桌子:

姓名|姓氏|项目|日期|小时 aaa aaaa 1 2011年8月12日10 aaa aaaa 1 2011年8月13日8 aaa aaaa 1 14.08.2011 7 我需要这样的结果: 姓名|姓氏|项目|日期|小时|日期|小时|日期|小时|总计 aaa aaaa 1 12.08.2011 10 13.08.2011 8 14.08.2011 7 25

选择名称、姓氏、项目、, MAXDECODEC,1,日期, MAXDECODEC,1,小时, MAXDECODEC,2,日期, MAXDECODEC,2小时, MAXDECODEC,3,日期, MAXDECODEC,3,小时, 总小时数 从中选择名称、姓氏、项目、日期、小时 ,按项目订单按项目C超额分配的行数 下班 按姓名、姓氏、项目分组
这项工作。但我需要动态sql查询,因为行数可以是可变的。可能吗?谢谢

您可以动态生成sql。查看DBMS_SQL包。但是每行需要有相同数量的列。 另一种方法是返回日期和小时的嵌套表或vararray