带子查询的 Oracle PIVOT(不带 XML 子句)

发布于 2025-01-18 04:38:45 字数 986 浏览 0 评论 0原文

Win2019 上的 Oracle 19.3 寻找基于子查询的数据透视解决方案。我寻找了示例,但我发现的只是“pivot xml”解决方案,它返回 xml 格式的列。 这是我的查询:

with assign_data as
(
select --*
    style_id
    ,color_id
    ,size_id
    ,in_whse_date
    ,sum(pd2_assign_so_quantity) qty
from pd2_assignment
where business_unit_id = '81'
  and style_id = 'Y186F3D'
  and color_id = '035Y'
  and property_mark = '8FQR'
group by
    style_id
    ,color_id
    ,size_id
    ,in_whse_date
order by size_id
)
select * from assign_data
pivot XML (
    sum(qty) for (in_whse_date) in ( select distinct in_whse_date from assign_data)
    ) 

内部查询产生以下结果:

在此处输入图像描述

Pivot XML 会生成以下内容:

在此处输入图像描述

问题:是否可以使用子查询中的列生成 PIVOT不是xml格式? 如果没有,是否有另一种方法来模拟这种枢轴行为?

Oracle 19.3 on Win2019
Looking for a solution to pivot data based on the subquery. I looked for examples, but all I found is the "pivot xml" solution, which returns xml-formated column.
Here is my query:

with assign_data as
(
select --*
    style_id
    ,color_id
    ,size_id
    ,in_whse_date
    ,sum(pd2_assign_so_quantity) qty
from pd2_assignment
where business_unit_id = '81'
  and style_id = 'Y186F3D'
  and color_id = '035Y'
  and property_mark = '8FQR'
group by
    style_id
    ,color_id
    ,size_id
    ,in_whse_date
order by size_id
)
select * from assign_data
pivot XML (
    sum(qty) for (in_whse_date) in ( select distinct in_whse_date from assign_data)
    ) 

Inner query produces this:

enter image description here

Pivot XML produces this:

enter image description here

Question: Is it possible to generate PIVOT with columns from a subquery that are not in xml format?
If not, is there another way to simulate this pivot behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文