gpt4 book ai didi

sql-server - 如何在 SQL Server 中将行转换为列?

转载 作者:行者123 更新时间:2023-12-01 08:51:00 30 4
gpt4 key购买 nike

我有这个来自指纹传感器的表格,我需要在一行中显示结果

ID |  DateTime                | Flag
----------------------------------------
41 | 2017-02-22 08:05:56.000 | I
41 | 2017-02-22 18:11:03.000 | O

需要这样的结果:

ID |  IN-DateTime             |  OUT-DateTime           
--------------------------------------------------------
41 | 2017-02-22 08:05:56.000 | 2017-02-22 18:11:03.000

谁能帮帮我?

最佳答案

简单的聚合应该这样做:

select id,
max(case when flag = 'I' then datetime end) indatetime,
max(case when flag = 'O' then datetime end) outdatetime
from t
group by id;

或者如果你愿意,你可以使用pivot:

select id, [I] indatetime, [O] outdatetime
from t pivot (
max(datetime) for flag in ([I],[O])
) as p

关于sql-server - 如何在 SQL Server 中将行转换为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396816/

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