Довольно круто, я никогда не разворачивался таким образом.Я всегда использую команду UNPIVOT.Но это, кажется, работает довольно хорошо.Не зная структуры вашего mytable, я не знаю проблемы, но я предполагаю, что у него нет имен столбцов instance1 - instance4?
Вот автономный рабочий пример:
select dates
,times
,locations
,events
from
(
values
('20181225', 'noon', 'a', 'b', 'c', 'd')
,('20181226', 'midnight', 'e', 'f', 'g', 'h')
) mytable (dates, times, instance1, instance2, instance3, instance4)
cross apply
(
values
('instance1', instance1)
,('instance2', instance2)
,('instance3', instance3)
,('instance4', instance4)
) as Items (locations, events);