2015-05-19 3 views
1

Привет всем У меня есть 3 запросов он дает, когда я использовал объединение все его дать мне 3 строки я хочу, чтобы преобразовать 3 строки в столбцы, как я могу это сделать, пожалуйста, помогите мнеприсоединиться несколько запросов, приводить к отдельным столбцам

здесь мой запрос

(select count(*) As TotalCount from Detail_User 
where userkey = 172) 
--union 
(select count(*) As ICount1 from Detail_User 
where Parent_Name = 'A' and userkey = 172) 
--union 
(select count(*) As ICount2 from Detail_User 
where Parent_Name = 'B' and userkey = 172) 

его дать мне некоторые вещи, как этот

TotalCount 
2 
3 
5 

я хочу что-то вроде этого

TotalCount ICount1 ICount2 
2   3  5   

ответ

2

Не делать UNION, использовать в вашем SELECT в CASE WHEN как этот

select 
count(*) As TotalCount, 
SUM(CASE WHEN Parent_Name = 'A' THEN 1 ELSE 0 END) as ICount1 , 
SUM(CASE WHEN Parent_Name = 'B' THEN 1 ELSE 0 END) as ICount2 
from Detail_User 
where userkey = 172 
+0

спасибо дорогому красиво и простое решение. –

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