2015-11-02 29 views
1

我想知道如何使用樞軸運算符轉置一個表,但我無法弄清楚。任何幫助都會很棒。這是我的查詢,我需要轉置。在SQL中簡單的樞軸表換位

SELECT 
    sum(delayCarrier>0) AS 'Carrier Delay', 
    sum(delayWeather>0) AS 'Weather Delay', 
    sum(delayTraffic>0) AS 'Air Traffic Delay', 
    sum(delaySecurity>0) AS 'Security Delay' 
FROM flights 

這裏是表格版本。 enter image description here

我需要它來閱讀:

'TypeOfDelay','Frequency' 
------------------------- 
Carrier Delay | 32093 
Weather Delay | 4887 
Air Traffic Delay | 40730 
Security Delay | 215 

對不起,我知道這個問題已經被問了很多,我已經看了很多,但我似乎無法獲得任何的直覺。提前致謝。

回答

1

這是一個查詢,它會給你你想要的輸出,儘管我不能誠實地說它是一個關鍵點,或者它很漂亮。

SELECT 'Carrier Delay' AS TypeOfDelay, SUM(delayCarrier > 0) AS Frequency 
FROM flights 
UNION ALL 
SELECT 'Weather Delay' AS TypeOfDelay, SUM(delayWeather > 0) AS Frequency 
FROM flights 
UNION ALL 
SELECT 'Air Traffic Delay' AS TypeOfDelay, SUM(delayTraffic > 0) AS Frequency 
FROM flights 
UNION ALL 
SELECT 'Security Delay' AS TypeOfDelay, SUM(delaySecurity > 0) AS Frequency 
FROM flights