gpt4 book ai didi

sql - 透视 SQL Server 表

转载 作者:行者123 更新时间:2023-12-01 11:13:19 24 4
gpt4 key购买 nike

SQL Server 表中的示例数据如下所示:

+------------+---------+---------+-----+-------+--------+--------+|    Date    | Account |  Head   | D_C | TxnID | AmCode | Amount |+------------+---------+---------+-----+-------+--------+--------+| 15-05-2019 |     123 | Savings | D   |     5 | SV     |    150 || 15-05-2019 |     123 | Cash    | C   |     5 | SV     |    150 || 16-05-2019 |     367 | Loan    | D   |     6 | LN     |    200 || 16-05-2019 |     367 | Cash    | C   |     6 | LN     |    200 |+------------+---------+---------+-----+-------+--------+--------+

上面显示了两对(4 行)。除了 HeadD_C Column 之外,每一对中的所有字段都是相同的(即使数据未排序 - 虽然它在上面排序) .

我正在从上面的样本中寻找如下报告:

+------------+---------+---------+--------+-------+--------+--------+|    Date    | Account | D Head  | C Head | TxnID | AmCode | Amount |+------------+---------+---------+--------+-------+--------+--------+| 15-05-2019 |     123 | Savings | Cash   |     5 | SV     |    150 || 16-05-2019 |     367 | Loan    | Cash   |     6 | LN     |    200 |+------------+---------+---------+--------+-------+--------+--------+

这是报告中的一行,其中一列是 Head + D 组合,另一列是 Head + C 组合。

请注意,在实际数据中,这些对可能不会像上面那样一起出现。但是,除了 Head + D_C 之外的其他字段的连接使得连接的字符串对于一对行是唯一的。

在此先感谢您的帮助。

最佳答案

尝试条件聚合:

declare @tmp table
(
[Date] date,
Account int,
Head varchar(50),
D_C char(1),
TxnID int,
AmCode char(2),
Amount int
)

insert into @tmp
values
('2019-05-15', 123, 'Savings', 'D', 5, 'SV', 150)
,('2019-05-15', 123, 'Cash' , 'C', 5, 'SV', 150)
,('2019-05-16', 367, 'Loan' , 'D', 6, 'LN', 200)
,('2019-05-16', 367, 'Cash' , 'C', 6, 'LN', 200)

select
[Date]
, Account
, max(case when D_C='D' then Head end )as [D Head]
, max(case when D_C='C' then Head end )as [C Head]
, TxnID
, AmCode
, Amount
From @tmp
group by [Date], Account, TxnID, AmCode, Amount

结果:

enter image description here

关于sql - 透视 SQL Server 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56911182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com