Здесь EmployeeName - это столбец, значения которого становятся заголовками столбцов при повороте. @COLS
использует ключевое слово Distinct для столбца EmployeeName
, из-за чего изменится порядок выбранного EmployeeNames
.
При использовании сводной таблицы в SQL ожидается, что @COLS
(т. Е. Заголовки столбцов / EmployeeName) будут в том же порядке, что и в исходной таблице, равной TMP_RESULTS
. Но @COLS
имеет другой порядок EmployeeNames
. В связи с этим мы получаем нежелательные результаты в таблице #RESULTS
. То есть заголовки столбцов меняются значениями.
Чтобы решить эту проблему, мы можем использовать Distinct и сгруппировать по ID, или мы можем удалить ключевое слово Distinct и добавить отдельные заголовки столбцов, идущие из пути xml, в фиктивную таблицу, и, поскольку тот же порядок будет использоваться и в таблице TMP_RESULTS
, поворот не поменяет местами результаты.