Union & Transpose Query

mihir777

New member
Joined
May 28, 2016
Messages
24
Reaction score
0
Points
1
Excel Version(s)
2016
Hello,

i am using this query

SELECT count(CAMPAIGN_ID) as CAMPAIGN_ID
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603)
Group By Campaign_id
union

SELECT count(DELIVERY_STATUS) as DELIVERY_STATUS
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603) and DELIVERY_STATUS = 'Delivered'
Group By Campaign_id,DELIVERY_STATUS
union

SELECT count(DELIVERY_STATUS) as CLICKED_STATUS
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603) and CLICKED_STATUS = 'Clicked'
Group By Campaign_id,DELIVERY_STATUS,CLICKED_STATUS

Output Received
555
24659
535
23983
118
7207

Required Output

Campaign IdCount Campaign IDCount Delivery StatusCount Clicked Status
3600555535118
360324659239837207

 
@mihir777 ,

The best option would be to use PowerQuery. Anyway, if you need to use SQL, you can get the result from the query in the for of:

Campaing IDDataResult
3600Count Campaign ID555
3603Count Campaign ID24659
3600Count Delivery Status535
3603Count Delivery Status23983
3600Count Clicked Status118
3603Count Clicked Status7207

and then create a Pivot Table

Try with

SELECT CAMPAIGN_ID, ‘Count CAMPAIGN Id’, count(CAMPAIGN_ID) as Result
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603)
Group By Result
union

SELECT CAMPAIGN_ID, ‘Count Delivery status, count(DELIVERY_STATUS) as Result
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603) and DELIVERY_STATUS = 'Delivered'
Group By Result
union

SELECT CAMPAIGN_ID, ‘Count Clicked status, count(DELIVERY_STATUS) as Result
FROM sp_sms_view
Where CAMPAIGN_ID in (3600,3603) and CLICKED_STATUS = 'Clicked'
Group By Result
 
Back
Top