2017-06-16 94 views
1

我想出了這個查詢,它返回我需要的數據 - 我被建議使用UNION並可能是一個PIVOT但SQL技能有限,這就是我所想到的。也嘗試樞軸,但得到了同樣的結果MYSQL UNION和/或PIVOT

SELECT RoundNo, Team, WL 
FROM `MatchDetails2017` 
WHERE Season = 2017 AND Team = 'Team A' 
UNION 
SELECT RoundNo, Team, WL 
FROM `MatchDetails2017` 
WHERE Season = 2017 AND Team = 'Team B' 

的數據出來這樣

RoundNo | Team |WL 
R1 | Team A | W 
R2 | Team A | L 
R3 | Team A | W 
R4 | Team A | W 
R1 | Team B | L 
R2 | Team B | W 
R3 | Team B | L 
R4 | Team B | L 

但我想有出把這樣

RoundNo | Team A | Team B 
R1 | W | L 
R2 | L | W 
R3 | W | L 
R4 | W | L 

我已經更新了查詢的建議,但它並不完全符合我後,它顯示爲

RoundNo | Team | Team A | Team B 
R1 | Team A | W | 0 
R1 | Team B | 0 | L 
R2 | Team A | L | 0 
R2 | Team B | 0 | W 
R3 | Team A | W | 0 
R3 | Team B | 0 | L 
R4 | Team A | W | 0 
R4 | Team B | 0 | L 
+0

有史以來最好的MySQL拼寫。 – Martin

回答

0

我得到了它 - 我只是刪除隊從打開選擇和GROUP BY

0
SELECT Season, RoundNo, 
     MAX(CASE WHEN Team = 'Team A' THEN WL ELSE 0 END) as Team_A, 
     MAX(CASE WHEN Team = 'Team B' THEN WL ELSE 0 END) as Team_B 
FROM `MatchDetails2017` 
WHERE Season = 2017 
GROUP BY RoundNo