【问题标题】:#1248 - Every derived table must have its own alias? Error_mysql phpmyadmin#1248 - 每个派生表都必须有自己的别名?错误_mysql phpmyadmin
【发布时间】:2015-12-28 21:53:52
【问题描述】:
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
  )

【问题讨论】:

  • 请使用您的问题下方的edit 按钮使其可读。使用适当的格式,添加详细信息和准确的错误消息。谢谢。
  • 哇,你需要更好地格式化它。但答案是任何派生表都必须有一个唯一的名称。你的要么被骗,要么没有名字。我只是在那乱七八糟的地方找不到它。
  • 错误信息非常具体和清晰。那么你的问题是什么?
  • 稍微看了一下,好像派生表是嵌套的。这让事情变得更加复杂。

标签: mysql phpmyadmin mysql-error-1248


【解决方案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

【讨论】:

    【解决方案2】:

    我在第 11 行有语法错误:

    select (1- (s1 + s2 + s3) / (s4 + s5 + s6))*100 as 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 end)作为 v1, avg(当指示像 '%Vmgw%' 和 compteur = 'pmNrOfIpTermsRej' 然后 valeur else null end)作为 v2, avg(当表示像 '%TdmTermGrp%' 和 compteur = 'pmNrOfTdmTermsRej' 然后 valeur else null end)作为 v3 时, avg(当指示符像 '%Vmgw%' 和 compteur = 'pmNrOfAal2TermsReq' 然后 valeur else null end)作为 v4, avg(当指示符像 '%Vmgw%' 和 compteur = 'pmNrOfIpTermsReq' 然后 valeur else null end)作为 v5, avg(当指示像 '%TdmTermGrp%' 和 compteur = 'pmNrOfTdmTermsReq' 然后 valeur else null end)作为 v6, 开始日期 来自 SUBSTR(date_format(startdate,'AAAA-%m-JJ HH:%m:%s'),1,10) 像 $P{date_debut} 和 MGW 像 $P{par_mgw} 的数据 按开始日期、MGW 分组)

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多