Если я правильно понял проблема выглядит так. Запрос к определенной бд выполненый в студии запущенной на сервере приложений 600мс а в профайлере время 120мс. Тот же запрос к той же бд выполненный в студии на локальный компе (через ВПН) время совпадает с профайлером 120мс. Остальные бд время выполнения совпадает с профайлером независимо где запущена студия. Верно?
Простейший эксперимент показывает, что duration в профайлере включает в себя время на передачу результата клиенту. Итого, если, при прочих равных, в одном случае клиентская статистика и duration совпадают, а в другом сильно разнятся, то имеют место проблемы неясного генеза на компе, где поведение аномально. Сервер ни при чем.
Использую три Pivot-a, все они берут набор столбцов с одного списка, соответственно я столкнулся с ошибкой повторения названия столбцов, как можно это пофиксить?
Первый Pivot который работает, считает EnegryValue для записей по датам которые в переменной @pt, я хочу чтобы добавились столбцы которые считают LastValue и PrevValue по этим же датам.
тебе в первый SELECT самый верхний надо добавит PaymentDate2PaymentDate3 как новые столбцы, например PaymentDate2=Cast(PaymentDate As varchar(30)) + ‘_1’
Хотел CASE предложить, но понял, что список колонок может меняться.
Как вариант делать конструкцию типа select * from ( select *, ROW_NUMBER() from table pivot param1 ) join ( select *, ROW_NUMBER() from table pivot param2 ) on по ROW_NUMBER() и т.д. Но при таком подходе трижды читать таблицу получится в твоём варианте.
Либо вариант, как Константин предложил, с созданием доп.столбцов и крутить по ним.