【发布时间】:2022-01-17 19:44:33
【问题描述】:
我正在尝试将两列合并为两行。我无法用 PIVOT 表解决它。 我的桌子是这样的
name | status | timestamp
212 50 t1
213 50 t2
212 60 t3
213 60 t4
我想要什么
name | starttime | stoptime
212 t1 t2
213 t3 t4
【问题讨论】:
-
你能更详细地解释一下这背后的逻辑吗?为什么 212 在 t2 停止?为什么 213 从 t3 开始?
-
可以使用聚合,按名称分组。
-
您真的还在使用 SQL Server 2005 吗?这已经完全不支持了大约 5 年;你真的需要理清你的升级路径。我们中的许多人不记得我们认为理所当然的支持(或更糟糕的是,不支持)的功能是什么,因为我们已经有很多年没有接触过这么旧的产品了。不早点升级只会让以后更难升级。
-
您的样本数据和所需的输出似乎混淆了。更糟糕的是,您似乎期望这里的数据有某种顺序,因为您有开始和停止。但是在您的数据中没有任何指示顺序。提供一些有意义的样本数据,帮助他人理解您的问题。
标签: sql-server sql-server-2005 odbc