问题标签 [unpivot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
678 浏览

xml - Unpivot 基于属性的 xml 文档

我有一个简单的 xml 文档,如下所示。我需要编写一个 XSLT 转换,该转换基本上基于某些属性“取消透视”该文档。

这就是我期望的输出 -

感谢你的帮助。

0 投票
6 回答
3242 浏览

sql - SQL 2005 选择案例陈述

我真的很感激这方面的帮助,我被严重卡住了。基本上我有一张桌子

看起来像这样:

我需要做的是将此表中的值转换为仅包含

一周中的几天对应的数字,例如,1 代表星期日,2 代表星期一,3 代表星期二,等等,一直到 8 代表星期日。

所以我有一点点 SQL:

这适用于个别日子,除了日子组合。所以在这种情况下,当我通过

28(周三)、41(周五)和 44(周六),我得到 4(完美)、6(完美)和 17(哦,废话——应该是

1 和 7,分别)。

谁能帮我重组我的 SQL 以便我得到一个包含 1、4、6 和 7 的表

4、6、17?

0 投票
7 回答
41181 浏览

sql-server - SQL Server - 使用 UNPIVOT 包含 NULL

UNPIVOT不会返回NULLs,但我需要它们进行比较query。我试图避免使用ISNULL以下示例(因为在真正的 sql 中有超过 100 个字段):

有什么选择吗?

0 投票
1 回答
2426 浏览

sql - T-SQL 2008 中的 Unpivot 与联合查询

我从中检索数据的数据库具有这样的表结构

表:客户销售额

我必须在报告中显示它,如下所示

对于 ClientId = 1 和 Term Id = 1

p>

我可以通过两种方式做到这一点

或者

所以这里有问题:

  • 作为最佳实践,我应该使用 UNPIVOT 还是 UNION
  • 有没有更好的方法来编写这个 UNPIVOT?
0 投票
1 回答
601 浏览

sql - 更新 UNPIVOTted SQL 表

我一直在反对这一点,我敢肯定我只是错过了一些明显的东西,但是......

我在客户的数据库中有一个表,基本上是:

每条记录中有 99 项,并且不更改架构不是一种选择(涉及其他外部考虑)。

然而,为了向用户显示任何远程类似于智能的东西,我们必须像这样(通过视图)对其进行 UNPIVOT:

我将其标准绑定到网格。但是,我不知道如何为其构建 UpdateCommand,因为文本必须明确命名 SET 中的列,但列名在 Item 和 Note 列中是动态的,我可以'不只是设置所有列,因为每条记录只有一个项目/注释对的数据。

想法?

0 投票
2 回答
484 浏览

sql - SQL 中的透视/反透视

我通过分析表中的值生成了一个 SQL 视图,以便该字段包含值“N”、“D”或“V”。我可以按列计算总数,但不能按行计算……这可能吗?

例子:

数据

我如何总结第 3 行有 1N、1V 和 3ds 而第 4 行有 4Vs?

赌注很简单,但遗憾的是我也是!

非常感谢,彼得

0 投票
2 回答
190 浏览

sql-server-2005 - sql server 反透视表

我在尝试取消透视下表时遇到了麻烦。

| 操作 | ...其他列... | A1 | B1 | C1 | A2 | B2 | C2 | A3 | B3 | C3 | ... |

变成这样的事情......

| 操作 | ...其他列... | 价值 | B值 | 价值 |

现在我这样做

问题是我有 30 套 ABC,所以有 30 个工会。我尝试过使用 unpivot,但我无法提出正确的解决方案,这是我第一次尝试使用它。

这是我尝试使用 UNPIVOT

问题是我不明白为什么返回数百万行,而预期应该是大约 10k。有任何想法吗?

编辑:我刚刚意识到每个 UNPIVOT 都与导致“数据爆炸”的前一个 unpivot 语句的结果集一起工作。

谢谢

0 投票
2 回答
4901 浏览

sql - TSQL - 使用 UNPIVOT 的帮助

我正在从这个遗留表转换数据:
Phones(ID int, PhoneNumber, IsCell bit, IsDeskPhone bit, IsPager bit, IsFax bit)

这些位域不能为空,并且可能所有四个位域都可以为 1。

我怎样才能取消旋转这个东西,以便我最终为每个位字段 = 1提供一个单独的行。例如,如果原始表看起来像这样......

...我希望结果如下:

谢谢!

0 投票
1 回答
1675 浏览

sql - 让 unpivot 自动抓取列列表(oracle 11g)

这是将一行转换为多行 Oracle的后续问题

我希望能够对任意查询结果进行反透视。

要手动取消透视表,我会这样做:

这适用于返回 5 列(称为col1, col2等)的所有查询。我输入的内容value for value_type in (col1, col2, col3, col4, col5)是否会从第一部分中选择的查询/视图/表中获取所有列名?

0 投票
1 回答
6349 浏览

sql-server - t-sql 最有效的行到列?xml 路径的交叉表,枢轴

我正在寻找将行转换为列的最高效方法。我需要以固定宽度和分隔格式输出数据库的内容(不是下面的实际模式,但概念相似)。下面的 FOR XML PATH 查询给出了我想要的结果,但是在处理除少量数据之外的任何内容时,可能需要一段时间。

我已经查看了 pivot 但我发现的大多数示例都是聚合信息。我只想合并子行并将它们附加到父行上。

我还应该指出,我也不需要处理列名,因为子行的输出要么是固定宽度的字符串,要么是分隔的字符串。

例如,给定下表:

对于我需要输出的订单:

或者

想法或建议?我正在使用 SQL Server 2k5。

示例设置:

使用 FOR XML 路径:

它输出我想要的东西,但是对于大量数据来说非常慢。其中一个子表超过 200 万行,将处理时间推迟到 4 小时左右。