0

ビューを作成できません。以下に私のコードがあります。誰か助けてくれませんか?

CREATE VIEW V_Campeonato AS SELECT team.tim_cod_inscri_time
        , SUM( CASE WHEN partida.par_gol_mand > partida.par_gol_visi  THEN 1 ELSE 0 END ) AS VITORIAS
        , SUM( CASE WHEN partida.par_gol_mand = partida.par_gol_visi  THEN 1 ELSE 0 END ) AS EMPATES
        , SUM( CASE WHEN partida.par_gol_mand < partida.par_gol_visi  THEN 1 ELSE 0 END ) AS DERROTAS
FROM team 
INNER JOIN partida 
ON team.tim_cod_inscri_time = partida.par_cod_partida
ORDER BY ( VITORIAS * 3 + EMPATES ) DESC;

エラー 1247 (42S22): 参照 'VITORIAS' はサポートされていません (グループ関数への参照)

4

1 に答える 1

0

このコードで何をしようとしているのかを完全に理解するのは困難です。しかし、これはあなたが求めているものかもしれません:

 SELECT SUM(VITORIAS), SUM(EMPATES), SUM(DERROTAS), tim_cod_inscri_time FROM

    (SELECT
    (CASE WHEN partida.par_gol_mand > partida.par_gol_visi THEN 1 ELSE 0 END ) AS VITORIAS , 
    (CASE WHEN partida.par_gol_mand = partida.par_gol_visi THEN 1 ELSE 0 END ) AS EMPATES , 
    (CASE WHEN partida.par_gol_mand < partida.par_gol_visi THEN 1 ELSE 0 END ) AS DERROTAS
    FROM team INNER JOIN partida ON team.tim_cod_inscri_time = partida.par_cod_partida)
    AS teamrecord
    GROUP BY tim_cod_inscri_time
    ORDER BY ( VITORIAS * 3 + EMPATES ) DESC;

SUM内表から抜き出して、勝敗を分けてまとめました。また、サブクエリに任意の名前を付けましたteamrecord。これはあなたが行っていたものですか?

于 2012-12-04T03:41:26.783 に答える