You have a scenario to show the multiple rows data into the single rows like below.
SELECT SetId, AppCode, AppEventId, EventId,ValueData,phone,[Address], ROW_NUMBER() OVER( PARTITION BY AppCode ORDER BY AppCode
) RowNumber
INTo #mineTable
FROM dbo.valueDataCheck
select * from #mineTable
SELECT SetId, AppCode as TIN, AppEventId, EventId
,max(CASE WHEN RowNumber = 1 THEN ValueData END) AS val1
,max(CASE WHEN RowNumber = 2 THEN ValueData END) AS val2
,max(CASE WHEN RowNumber = 3 THEN ValueData END) AS val3
--,max(CASE WHEN
RowNumber = 4 THEN ValueData END) AS val4
,max(CASE WHEN RowNumber = 1 THEN phone END) AS phonenumber1
,max(CASE WHEN RowNumber = 2 THEN phone END) AS phonenumber2
,max(CASE WHEN RowNumber = 3 THEN phone END) AS phonenumber3
-- ,max(CASE WHEN
RowNumber = 4 THEN phone END) AS phonenumber4
,max(CASE WHEN RowNumber = 1 THEN [Address] END) AS add1
,max(CASE WHEN RowNumber = 2 THEN [Address] END) AS add2
,max(CASE WHEN RowNumber = 3 THEN [Address] END) AS add3
-- ,max(CASE WHEN
RowNumber = 4 THEN [Address] END) AS add4
FROM
#mineTable
GROUP BY SetId,AppCode,AppEventId,EventId
DROP TABLE #mineTable
It will help you to get the all the records horizontally . Dont forget to drop tables.
No comments:
Post a Comment