2014-09-03 5 views
-1
name  roll     vote total vote  status 

aaa  Administrator    1 2   Feedback Received 
aaa  HR Support Staff   1 2   Feedback Received 
dev  Administrator    1 2   Shortlisted 
dev  HR Support Staff   1 2   Shortlisted 
raj  Administrator    1 1   Feedback Received 
rajesh HR Support Staff   2 2   Shortlisted 

нужно отобразить какPIVOT операция

Name  HR Support Staff  Administrator Total Vote  Status 

aaa   1     1    2   Feedback Recived 

как отобразить в этом методе?

+1

Как вы вывода данных? Поворот намного проще в пользовательском интерфейсе и/или уровне отчетности, чем в SQL. Большинство решеток и средств отчетности поддерживают декларативный, динамический поворот, тогда как SQL требует статического поворота (или динамического SQL, который трудно разрабатывать и отлаживать). –

ответ

1

Это будет PIVOT подход к этому:

select [name], [Administrator], [HR Support Staff], [total vote], [status] 
from Table1 
pivot (
    min([vote]) 
    for [roll] in ([Administrator], [HR Support Staff]) 
) p 

Working SqlFiddle

+0

благодарит его работу ... – Kasirajan

+0

Просто некоторые соображения для OP: Существуют ли ограничения на этой таблице? Если нет, функция Min func может быть заменена на AVG и колонку «Голосовать», чтобы напечатать DECIMAL. Кроме того, должна ли роль роли? – nshah

0

Довольно редкие подробности здесь. Вы можете использовать PIVOT, или вы можете сделать кросс-вкладку. Если значения являются статическими, это один из способов сделать это, используя перекрестную вкладку.

select name 
    , SUM(case when roll = 'HR Support Staff' then 1 end) as HRSupportStaff 
    , SUM(case when roll = 'Administrator' then 1 end) as Administrator 
    , MAX(TotalVote) as TotalVote 
    , Status 
from YourTable 
group by name, Status 
+0

значения будут динамическими – Kasirajan

+0

OK. поэтому вам нужно сделать динамическую или сводную вкладку. Если вы посмотрите на Google, вы найдете множество способов сделать динамические точки и динамические перекрестные вкладки. –

+0

thnx для ответа, его работая, но он показывает имя несколько раз ... – Kasirajan

Смежные вопросы