Faran Saleem Ответов: 1

Отображение заголовков по горизонтали и вертикали в gridview с подсчетом


У меня есть gridview, и он связан с таблицей SQL, я хочу отображать заголовки как по горизонтали, так и по вертикали, но я застрял и понятия не имею, как это сделать.
Я хочу, чтобы результат отображался следующим образом,

-- StepName- - - Product1
|--Шаг 1-----------2
|--Шаг 2-----------2
|--Шаг 3-----------2
|--Шаг 4-----------2
|--Шаг 5-----------2

Цифры в приведенной выше таблице-это количество каждого шага,
я использую следующий SQL-код,

select 
  sum(case when currentstepname = 'Step1' then 1 else 0 end) Step1,
  sum(case when currentstepname = 'Step2' then 1 else 0 end) Step2,
  sum(case when currentstepname = 'Step3 then 1 else 0 end) Step3,
  sum(case when currentstepname = 'Step4' then 1 else 0 end) Step4,
  sum(case when currentstepname = 'Step5' then 1 else 0 end) Step5

from Table1


И в настоящее время я получаю следующий результат,

-- Шаг1 - - - Шаг2 - - - Шаг3 - - - Шаг4 - - - Шаг5
|--2---------2--------2--------2-------2----|

Что я уже пробовал:

Поискал в интернете, но не получил нужных результатов.

1 Ответов

Рейтинг:
0

Maciej Los

Если я вас хорошо понимаю, вы должны использовать Стержень[^].

SELECT StepName, [Product1], [Product2], [Product3]
FROM (
    SELECT StepName, ProductName, COUNT(*) AS StepsCount
    FROM Table1
    GROUP BY StepName, ProductName
) AS DT
PIVOT (SUM(StepsCount) FOR (ProductName) IN ([Product1], [Product2], [Product3])) AS PT


Попробуй!