oracle转置查询的数据,sql – 使用Oracle转置选择结果

如果要为每个调用生成查询或使用硬编码的max-column-count,那么您可以执行以下操作:

WITH tab AS

(

SELECT table_name,column_name FROM user_tab_cols WHERE column_id <= 4

) -- user_tab_cols used to provide test data,use your table instead

SELECT MAX(c1) c1,MAX(c2) c2,MAX(c3) c3,MAX(c4) c4

FROM (SELECT table_name,DECODE( column_id,1,column_name ) c1,2,column_name ) c2,3,column_name ) c3,4,column_name ) c4

FROM ( SELECT table_name,column_name,ROW_NUMBER() OVER ( PARTITION BY table_name ORDER BY column_name ) column_id

FROM tab

)

)

GROUP BY table_name

ORDER BY table_name

如果以这种形式获得它就足够了

TABLENAME1|COL1,COL2

TABLENAME2|COL1,COL2,COL3

看看Tom Kyte的stragg.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值