

このままでも実行は可能ですが、同じクエリが見受けられるので冗長にならないようにするにはどうすれば良いですか？

試したことは、 `[my_goals] - [enemy_goals]` ですが[Unknown columns]になってしまいました。  
バージョンは8.0.19です

[code]

    SELECT
        p1.kickoff,
        c1.name AS my_country,
        c2.name AS enemy_country, 
        c1.ranking AS my_ranking,
        c2.ranking AS enemy_ranking,
    
        (SELECT COUNT(g1.id) FROM goals g1 WHERE p1.id = g1.pairing_id) AS my_goals,
    
        (
            SELECT COUNT(g2.id) 
            FROM goals g2 
            LEFT JOIN pairings p2 ON p2.id = g2.pairing_id
            WHERE p2.my_country_id = p1.enemy_country_id AND p2.enemy_country_id = p1.my_country_id
        ) AS enemy_goals,
    
        (SELECT COUNT(g1.id) FROM goals g1 WHERE p1.id = g1.pairing_id) - ( 
            SELECT COUNT(g2.id) 
            FROM goals g2 
            LEFT JOIN pairings p2 ON p2.id = g2.pairing_id
            WHERE p2.my_country_id = p1.enemy_country_id AND p2.enemy_country_id = p1.my_country_id
        ) AS goal_diff
    
    FROM pairings p1
    LEFT JOIN countries c1 ON c1.id = p1.my_country_id
    LEFT JOIN countries c2 ON c2.id = p1.enemy_country_id
    WHERE c1.group_name = 'C' AND c2.group_name = 'C'
    ORDER BY p1.kickoff, c1.ranking
    
[/code]

[このリンク先の正解の部分のコードです](https://tech.pjin.jp/blog/2016/08/26/sql%E7%B7%B4%E7%BF%92%E5%95%8F%E9%A1%8C-%E5%95%8F17/)

> ### 問題：問題16の結果に得失点差を追加してください。
>
> 表示するカラム  
>  ・キックオフ日時  
>  ・自国名  
>  ・対戦相手国名  
>  ・自国FIFAランク  
>  ・対戦相手国FIFAランク  
>  ・自国のゴール数  
>  ・対戦国のゴール数  
>  ・得失点差（※追加！）
>
> ソート順  
>  ・キックオフ日時  
>  ・自国FIFAランク
>
>
> [![画像の説明をここに入力](https://i.stack.imgur.com/Y5s2U.jpg)](https://i.stack.imgur.com/Y5s2U.jpg)


CC BY-SA 4.0
2020-04-28T16:12:32.130
66082
2020-04-29T05:15:25.717
2020-04-29T05:15:25.717
3068
39865
question
mysql
SQLのクエリが冗長なので同じクエリを何回も書かないようにしたいです。