2013-12-03 3 views
0

У меня есть следующая таблица:Выберите строки в виде столбцов в Sql Server

id configname  value 
-------------------------------------- 
1 set_count  3   
2 pass_ratio  2   
3 min_right_count  1   
. 
. 
. 

Мне нужно создать запрос на выборку, который дает результат таким образом:

set_one_count pass_ratio min_right_count 
-------------------------------------------------------- 
3     2    1 

Есть идеи?

ответ

1

Попробуйте это:

Редактировать проверить это для более SQLFiddle

select set_ratio,pass_ratio,min_right_count 
from 
(
    select configname,value 
    from yourtable 
) d 
pivot 
(
    max(value) 
    for configname in (set_ratio,pass_ratio,min_right_count) 
) piv; 
0

SQLFiddle Demo

select 
sum(case when configname='set_count' then 1 else 0 end) as set_one_count, 
sum(case when configname='pass_ratio' then 1 else 0 end) as set_one_count, 
sum(case when configname='min_right_count' then 1 else 0 end) as min_right_count 
from tablename; 
Смежные вопросы