如何将一个SQL列转换为同一行上的多个列?

问题描述 投票:0回答:2

我正在Excel中的Progress ODBC中工作,并且我有一个数据集,该数据集当前包含ID,对象类型和该对象的结果。数据集如下所示:

EveNumber                   ObjName                                   TroValue
1234               818 Artwork typeset duration                       00:30:00
1234               818 Artwork Estimated typeset duration             00:40:00

我正在尝试通过使用以下CASE WHEN来使这些数据全部位于一行上>

Select

Event_0.EveNumber
,(CASE WHEN Object_0.ObjName = '818 Artwork typeset duration' THEN TemplateRunObject_0.TroValue ELSE NULL END) AS 'BookedTime'
,(CASE WHEN Object_0.ObjName = '818 Artwork Estimated typeset duration' THEN TemplateRunObject_0.TroValue ELSE NULL END) AS 'EstimatedTime'

我发现的是,这导致了逐步的结果。因此,我返回的数据仍然返回多行。很像这样:

EveNumber                BookedTime                    EstimatedTime              
1234                      00:30:00                                                     
1234                                                     00:40:00     

我是否可以做一些事情以在一行上返回此结果?

我正在Excel中的Progress ODBC中工作,并且我有一个数据集,该数据集当前包含ID,对象类型和该对象的结果。数据集如下所示:EveNumber ...

sql excel odbc progress case-when
2个回答
0
投票

使用条件聚合


0
投票

您需要GROUP BY

© www.soinside.com 2019 - 2024. All rights reserved.