当前位置: 首页 > 知识库问答 >
问题:

SQL在两列上取消Pivot并保持映射[重复]

丌官积厚
2023-03-14

试图找到一个解决方案,但到目前为止没有任何有用的东西。我试图从以下格式透视SQL表:

+-----------+-------+--------+
| ProductID | Price | Client |
+-----------+-------+--------+
| bread     |    12 | A      |
| bread     |    13 | B      |
| bread     |    14 | C      |
| bread     |    15 | E      |
| sodapop   |     5 | A      |
| sodapop   |     6 | B      |
| sodapop   |     7 | C      |
| sodapop   |     8 | D      |
+-----------+-------+--------+

到这个

+-----------+----------------+----------------+----------------+----------------+--+
| ProductID | Client A Price | Client B Price | Client C Price | Client D Price |  |
+-----------+----------------+----------------+----------------+----------------+--+
| bread     |             12 |             13 |             14 |             15 |  |
| sodapop   |              5 |              6 |              7 |              8 |  |
+-----------+----------------+----------------+----------------+----------------+--+

共有1个答案

赵俊晤
2023-03-14

枢轴语法如下所示:

SELECT * 
FROM 
( SELECT * FROM parts) src
PIVOT  ( MAX(Price) FOR CLient IN (A,B,C,D,E)
) AS pvt 
 类似资料:
  • 问题内容: 我在一个专栏中看到了很多关于PIVOT的问题,每个问题都比其他问题复杂,但是,找不到所需的东西。 老实说,在这种情况下,我什至不知道枢轴是否对我有帮助。 假设我的源表中有以下数据: 最多5行,包含名字和姓氏。第一和最后一列的值将是随机的。 我试图将这些数据转换为如下形式: 例如:如果列First5和Last5为NULL,因为只有4行,我没有任何问题。 任何人都可以给我一点帮助吗?谢谢。

  • 问题内容: 我如何使用SQL PIVOT命令对看起来像这样的数据进行sql透视? 变成这样的东西: 问题答案: 尝试这样的事情: 这将产生以下结果:

  • 我有两份清单: 列表1: Object1(name1, id1) 列表2: Object2(name2, id2) 给定list1的大小与list2相同 我想迭代list2,如果list2的name2不为null,则更新list1的name1。 以下是使用旧java的代码: 用java实现这一点的最佳方法是什么。util。流动

  • 我是熊猫的新手。想知道如何将函数应用到数据框中的两列,并将函数的输出映射到数据框中的新列。这在熊猫语法中是可能的,还是我应该求助于本地Python来迭代数据框列中的行来生成新列? 问题是如何得到,例如,在一个新的列c中两个数字的乘法

  • 我最近开始使用mapstruct,在编码时我坚持使用一个场景。为了解决下面默认方法之间的模糊性,我试图在列表中使用“限定由” 但是第1行显示错误,因为需要指定“target”。我不确定这里的目标应该是什么,因为Line是一个集合对象。即使我不使用@mapping,mapstuct也会生成mapper实现。我阅读了mapstuct文档,但对这个场景了解不多。如何在列表上使用命名注释来明确表示这是要使

  • 我有多个数组映射。 我想从多个地图中获取重复地图键的列表。 例如 除了遍历所有地图键,检查集合是否包含键,如果不将键添加到集合中,我想不出任何更干净的方法。有没有办法通过streams来实现这一点?