2017-02-02 10 views
1

querysとその目的はwhere句(この例では重要ではない)に含まれるすべてのエントリを取得し、それらをActualDropOffDateTimeUTCと呼ばれる一列の列に結合することです私はXMLタグを含めると正しい結果を受け取っているということです。XMLパスの結果を正しくフォーマットする方法

結果は(例)と等しくなるようにデータをフォーマットする方法:私は実際にデータを受け取る方法
2016-11-29T20:56:00 - 2016-11-30T09:27:00

:私は列の下にこれを行うには、2つの試みを持って下
<ActualDropOffDateTimeUTC>2016-11-29T20:56:00</ActualDropOffDateTimeUTC><ActualDropOffDateTimeUTC>2016-11-30T09:27:00</ActualDropOffDateTimeUTC>

ActualDropOffDateTimeUTCの名前とSecondAttempt

(
    SELECT DISTINCT 
    ActualDropOffDateTimeUTC 
    FROM [dbo].[BookingJourneyLinkedCitySprintJobs] 
    WHERE 
    BookingReference = BJ.BookingReference AND BookingJourneyReference = BJ.BookingJourneyReference AND IsCurrentRevision = 1 
    FOR XML PATH('') 
) as ActualDropOffDateTimeUTC, 


(
    SELECT 
    STUFF(
      (
       SELECT ' ' + ActualDropOffDateTimeUTC 
       FROM [dbo].[BookingJourneyLinkedCitySprintJobs] 
       WHERE 
       BookingReference = BJ.BookingReference AND BookingJourneyReference = BJ.BookingJourneyReference AND IsCurrentRevision = 1 
       FOR XML PATH(''),TYPE 
       ).value('.','NVARCHAR(MAX)' 
       ),1,1,'' 
       ) 
) AS SecondAttempt 

ActualDropOff DateTimeUTC結果:
<ActualDropOffDateTimeUTC>2016-11-29T20:56:00</ActualDropOffDateTimeUTC><ActualDropOffDateTimeUTC>2016-11-30T09:27:00</ActualDropOffDateTimeUTC>

SecondAttempt結果:
016-11-29T20:56:002016-11-30T09:27:00

所望の出力:

2016-11-29T20:56:00 - 2016-11-30T09:27:00

+0

あなたのように、私たちはあなたのクエリをテストすることができ、ダミーデータを持つテーブルを作成するために、いくつかのスクリプトを提供していただけます私たちはあなたのデータにアクセスすることはできません。 – iamdave

答えて

1

私は私はあなたがやろうとしているかを理解思う:

declare @t table(d nvarchar(100)); 
insert into @t values('2016-11-29T20:56:00'),('2016-11-30T09:27:00'); 

select stuff((
       select ' - ' + d 
       from @t 
       for xml path('') 
       ) 
      ,1,3,'') 

ソースデータ:
行1:2016-11-29T20:56:00
行2:2016-11-30T09:27:00

クエリ出力:
2016-11-29T20:56:00 - 2016-11-30T09:27:00

関連する問題