我有一张这样的桌子......
CustomerID DBColumnName Data
--------------------------------------
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009
Run Code Online (Sandbox Code Playgroud)
我想要这个......
这可能使用PIVOT吗?
CustomerID FirstName MiddleName LastName Date
----------------------------------------------------------------------
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009
Run Code Online (Sandbox Code Playgroud) 我有一个有趣的难题,我认为可以用纯粹的SQL解决.我有类似于以下的表:
responses:
user_id | question_id | body
----------------------------
1 | 1 | Yes
2 | 1 | Yes
1 | 2 | Yes
2 | 2 | No
1 | 3 | No
2 | 3 | No
questions:
id | body
-------------------------
1 | Do you like apples?
2 | Do you like oranges?
3 | Do you like carrots?
Run Code Online (Sandbox Code Playgroud)
我想得到以下输出
user_id | Do you like apples? | Do you like oranges? | Do you like carrots?
---------------------------------------------------------------------------
1 …Run Code Online (Sandbox Code Playgroud) 我知道你有多个主题涉及到这一点.但是,我找不到满足我需求的.我需要(按需)将深度表数据透视到宽输出表.这里的问题是我不能使用Pivot的聚合,因为它会占用输出中需要的响应.我已经找到了解决方案,但我认为这不是最好的,因为它需要无数的左连接才能工作.我已将所有尝试和说明包括在内如下:
-- Sql Server 2008 db. -- Deep table structure (not subject to modification) contains name/value pairs with a userId as -- foreign key. In many cases there can be MORE THAN ONE itemValue given by the user for the -- itemName such as if asked their race, can answer White + Hispanic, etc. Each response is stored -- as a seperate record - this cannot currently be changed. -- Goal: pivot deep data to wide while also compressing result …
我有一个项目列表 - 每个项目都有一个标题,加上一堆属性,包括一个日期.
如果我将日期放入数据透视表的行框中,然后将其分组,并将标题放在下面 - 所以我有年,季度,创建,标题,我得到了一个很好的列表,列出了我的数据中的所有标题,分组按年,季度和月份.
但是我还想显示每个标题旁边的所有其他属性 - 每行的所有相关数据.对于纹理的,我不想计算它们 - 我只想列出整个数据集,但按日期分组.如果我将它们添加到其他数据透视表框中,它会开始执行通常的计数...
拥有数据透视表的所有额外过滤能力会很好,但我是否太难了?
谢谢你的帮助.
想象一下,我有这张桌子:
Column A | Column B | Column C
------------------------------
111 X 10
111 Y 12
Run Code Online (Sandbox Code Playgroud)
如何查询此表以显示如下结果:
Column A | X | Y
-----------------------------------
111 10 12
Run Code Online (Sandbox Code Playgroud) 这是我的查询
CREATE view pivmehis WITH ENCRYPTION
as
SELECT APPROVED, [Not Approved] as REJECT, NULL
FROM
(SELECT MgtApproval
from LeaveRequest) l
PIVOT
(
Sum (SchedId) --I DON'T WANT TO SUM THIS COLUMN
FOR MgtApproval IN
([APPROVED], [REJECT], [NULL])) as pvt
Run Code Online (Sandbox Code Playgroud)
原始表结果:
MgtApproval SchedId
Approved 1
Reject 2
Null 3
Approved 4
Reject 5
Null 6
Run Code Online (Sandbox Code Playgroud)
这是我想要查看的结果:
Approved Reject Null
1 2 3
4 5 6
Run Code Online (Sandbox Code Playgroud) 请帮我解决一下这个.我完全陷入困境.我有编码器块或什么的.
我有下表
ID Name Cost Included
---- ---------- ------- ----------
1 Package1 10.00 Yes
2 Package2 20.00 No
3 Package3 20.00 Yes
Run Code Online (Sandbox Code Playgroud)
我想交叉显示这些信息,要显示如下例子,表格中会有更多列.
Type Package1 Package2 Package3
----- ------------ ----------- ----------
Name Package1 Package2 Package3
Cost 10.00 20.00 30.00
Included Yes No Yes
Run Code Online (Sandbox Code Playgroud) sql sql-server pivot sql-server-2008 pivot-without-aggregate