Столбцы строк в Sql Server с несколькими данными - PullRequest
0 голосов
/ 11 сентября 2018

, пожалуйста, помогите .. пожалуйста, посмотрите пример данных ниже и желаемый вывод ..

Данные:

EmployeeID    Date        In          Out
00001         01/01/2018 | 07:00 AM | 05:00 PM
00001         01/02/2018 | 07:00 AM | 05:00 PM
00001         01/03/2018 | 07:00 AM | 05:00 PM
00002         01/01/2018 | 07:00 AM | 05:00 PM
00002         01/02/2018 | 07:00 AM | 05:00 PM
00002         01/03/2018 | 07:00 AM | 05:00 PM

Желаемый вывод

EmployeeID    01/01/2018         |  01/02/2018         |  01/03/2018
00001         07:00 AM - 05:00PM |  07:00 AM - 05:00PM |  07:00 AM - 05:00PM
00002         07:00 AM - 05:00PM |  07:00 AM - 05:00PM |  07:00 AM - 05:00PM

1 Ответ

0 голосов
/ 11 сентября 2018

Использование PIVOT :

WITH Src AS
(
  SELECT * FROM (VALUES 
  ('00001' ,'01/01/2018', '07:00 AM', '05:00 PM'),
  ('00001' ,'01/02/2018', '07:00 AM', '05:00 PM'),
  ('00001' ,'01/03/2018', '07:00 AM', '05:00 PM'),
  ('00002' ,'01/01/2018', '07:00 AM', '05:00 PM'),
  ('00002' ,'01/02/2018', '07:00 AM', '05:00 PM'),
  ('00002' ,'01/03/2018', '07:00 AM', '05:00 PM')) T(EmployeeID,[Date],[In],[Out])
)
SELECT * FROM
(SELECT EmployeeID, [Date], [In]+' - '+[Out] [In] FROM Src) T
PIVOT (MAX([In]) FOR [Date] IN ([01/01/2018],[01/02/2018],[01/03/2018])) AS P
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...