标签: pivot

以单元格名称作为列名称透视表

我有一个表结构是:

year | code | name| value | wef        | 
2014 | a001 | abe | 2000  | 2014-04-01 | 
2014 | a001 | def | 3000  | 2014-05-01 |
2014 | a002 | abe | 2000  | 2014-06-01 |
2014 | a003 | def | 2000  | 2014-04-01 |
2014 | a003 | mno | 5000  | 2014-06-01 |
Run Code Online (Sandbox Code Playgroud)

我需要的结果格式为:

year | code | abe | abe__wef | def | def__wef  | mno | mno____wef |   
2014 | a001 …
Run Code Online (Sandbox Code Playgroud)

sql-server pivot

0
推荐指数
1
解决办法
2万
查看次数

使用开始和结束事件日志创建包含每个日志时间之间跨度的表/视图

具体来说,我有一个事件表,用于记录用户加入或离开团队的时间。它看起来像下面这样:

-------------------------------------
| user | event  | team | timestamp |
-------------------------------------
| A    | joined | 1    | 2016-1-1  |
| B    | joined | 1    | 2016-1-1  |
| C    | left   | 1    | 2016-1-1  |
| C    | joined | 2    | 2016-1-1  |
| A    | left   | 1    | 2016-1-2  |
| A    | joined | 2    | 2016-1-2  |
| B    | left   | 1    | 2016-1-3  |
| A    | left   | …
Run Code Online (Sandbox Code Playgroud)

postgresql pivot redshift aggregate-filter

0
推荐指数
1
解决办法
111
查看次数

如何将视图转为连接,以便将多个查询行作为单行中的列?

我有一个视图,我在其中提取车辆的属性,例如轮胎尺寸、发动机容量、颜色、门数等。这些数据存储在多个表中,但我已将数据简化到我的视图中。

我想要实现的是将此视图加入我的主车辆表,以便我可以选择各种属性作为单行中的列。

我的看法:

Vehicle_ID  Property     Value
1           Doors        2
1           Engine Size  2 liter
1           Tire Size    50cm
1           Color        Blue
2           Doors        4
2           Engine Size  3 liter
Run Code Online (Sandbox Code Playgroud)

还有我的主要车辆表:

Vehicle_ID  Description  Date_Bought  Owner_ID
1           BMW M3 Sport 2000/12/23   1
2           Audi A5 3XL  2015/03/19   1
Run Code Online (Sandbox Code Playgroud)

所以我想出去的是

Vehicle ID  Description   Date_Bought   Doors   [Engine Size]  [Tire Size]  [Color]
1           BMW M3 Sport  2000/12/23    2       2 liter        50cm         Blue
Run Code Online (Sandbox Code Playgroud)

我的整体 SQL 知识相当有限,我很擅长 JOINS 和其他东西,但是 PIVOT 命令的逻辑及其语法完全让我望而却步。

join sql-server pivot

0
推荐指数
1
解决办法
2万
查看次数

用更少的行简化 SQL 表结果

我有一张桌子,上面有一些名字,上面有 3 个运动项目。如果该人练习这项运动,则显示“1”,否则显示“0”。

在此处输入图片说明

如何使用 SQL 更改表,使其仅显示每人一行,如下所示:

在此处输入图片说明

Regrads,埃利奥·费尔南德斯

pivot

0
推荐指数
1
解决办法
113
查看次数

在单个结果中加入一对多字段,无需串联

我遇到了与在单个结果连接一对多字段相同的问题,但我需要一个结果,其中“许多”字段占据自己的列并且没有连接在一列中。有什么建议?

样本数据:

___ID      Mapped_Heading    Source_Value
1          English           pass
1          Math              pass
1          History           fail


___ID      Name              Age
1          Bob               12
2          Harry             12
3          Emily             14
Run Code Online (Sandbox Code Playgroud)

最终结果将是:

___ID      Name      Age  English   Math   History
1          Bob       12   pass      pass   fail
Run Code Online (Sandbox Code Playgroud)

我希望我也不会用PIVOTPARTITION BY,因为我不熟悉这些功能,但我一直撞到他们对于这个问题这么认为,我可能有什么打算?

sql-server query pivot

0
推荐指数
1
解决办法
87
查看次数

如果 FK 相同,则合并行值

我有一张下表

PK 姓名 氟肯
01 ABC 01FK
02 BCA 01FK
03 出租车 02FK
04 XYZ 03FK
05 yzx 02FK

我想生成一个新表,其中 FK 为主表,其余列基于 FK 合并。所以最终结果看起来像这样:

氟肯 姓名
01FK 美国广播公司、英国广播公司
02FK 驾驶室,yzx
03FK XYZ

pivot

0
推荐指数
1
解决办法
169
查看次数

请解释查询内容

这看起来也正是我所需要的。然而,不精通查询,无法理解其中的一些内容..所以你能为我澄清一些事情吗?

;WITH x AS <--- is this a comment?
( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY ID, [Type] ORDER BY [Contact No]) FROM dbo.SourceTable )
SELECT ID, HPhone = MAX(CASE WHEN [Type] = 'home' THEN [Contact No] END),
CPhone1 = MAX(CASE WHEN [Type] = 'cell' AND rn = 1 THEN [Contact No] END),
 CPhone2 = MAX(CASE WHEN [Type] = 'cell' AND rn = 2 THEN [Contact No] END),
 WPhone1 = MAX(CASE WHEN [Type] = 'work' AND rn = …
Run Code Online (Sandbox Code Playgroud)

sql-server pivot

-4
推荐指数
1
解决办法
44
查看次数