#1248 - 每个派生表必须有自己的别名吗? Error_mysql phpmyadmin

时间:2015-12-28 21:53:53

标签: mysql phpmyadmin mysql-error-1248

select (1- (s1 + s2 + s3) / (s4 + s5 + s6))*100,startdate
from (
  select sum(v1) as s1 ,sum(v2) as s2,sum(v3) as s3,sum(v4) as s4,sum(v5) as s5,sum(v6) as s6,startdate 
    from (
      select 
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfAal2TermsRej' then valeur else null end) as v1,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfIpTermsRej' then valeur else null end) as v2,
        avg(case when indicateur like '%TdmTermGrp%' and compteur = 'pmNrOfTdmTermsRej' then valeur else null end) as v3,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfAal2TermsReq' then valeur else null end) as v4,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfIpTermsReq' then valeur else null end) as v5,
        avg(case when indicateur like '%TdmTermGrp%' and compteur = 'pmNrOfTdmTermsReq' then valeur else null end) as v6,
        startdate
      from MGW1 
      group by startdate
    )
    group by startdate
  )

2 个答案:

答案 0 :(得分:1)

试试这个

select (1- (s1 + s2 + s3) / (s4 + s5 + s6))*100,startdate
from
(   select sum(v1) as s1 ,sum(v2) as s2,sum(v3) as s3,sum(v4) as s4,sum(v5) as s5,sum(v6) as s6,startdate 
    from
    (   select avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfAal2TermsRej' then valeur else null end) as v1,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfIpTermsRej' then valeur else null end) as v2,
        avg(case when indicateur like '%TdmTermGrp%' and compteur = 'pmNrOfTdmTermsRej' then valeur else null end) as v3,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfAal2TermsReq' then valeur else null end) as v4,
        avg(case when indicateur like '%Vmgw%' and compteur = 'pmNrOfIpTermsReq' then valeur else null end) as v5,
        avg(case when indicateur like '%TdmTermGrp%' and compteur = 'pmNrOfTdmTermsReq' then valeur else null end) as v6,
        startdate
        from MGW1
        group by startdate
    ) xDerived1 --  NEED AN ALIAS HERE
    group by startdate
) xDerived2 --  NEED AN ALIAS HERE

请注意我隐藏的两个派生表名(xDerived1xDerived2)。它超过了错误代码1248

答案 1 :(得分:0)

我在第11行遇到语法错误:

选择(1-(s1 + s2 + s3)/(s4 + s5 + s6))* 100作为succ_rate,startdate as Time 从 (选择sum(v1)为s1,sum(v2)为s2,sum(v3)为s3,sum(v4)为s4,sum(v5)为s5,sum(v6)为s6,startdate 从 (选择avg(如'%Vmgw%'和compteur ='pmNrOfAal2TermsRej'表示的情况,然后是valeur else null结束时的情况)为v1, avg(如'vmw%'和compteur ='pmNrOfIpTermsRej'那样表示为valeur else null结束时的情况)为v2, avg(在指示'%TdmTermGrp%'和compteur ='pmNrOfTdmTermsRej'然后valeur else null结束时的情况)为v3, avg(如'v V vw''和compteur ='pmNrOfAal2TermsReq'然后是valeur else null结束时的情况)为v4, avg(如'v V vw''和compteur ='pmNrOfIpTermsReq'然后valeur else null结束时的情况)为v5, avg(在指示'%TdmTermGrp%'和compteur ='pmNrOfTdmTermsReq'然后valeur else null结束时的情况)为v6, 开始日期 来自SUBSTR(date_format(startdate,'AAAA-%m-JJ HH:%m:%s'),1,10)的数据,如$ P {date_debut}和MGW,如$ P {par_mgw} group by startdate,MGW)