【问题标题】:MySQL unknown column in my query我的查询中的 MySQL 未知列
【发布时间】:2017-12-15 23:52:39
【问题描述】:

我有以下 MySQL 查询

select 
    keliones_lapas.Vairuot_Id, 
    MONTH(keliones_lapas.Data_darbo), 
    sum(keliones_lapas.uzdarbis) as Got, 
    coalesce(Suma, 0) Suma, 
    (sum(keliones_lapas.uzdarbis) - coalesce(Suma, 0)) Total
from keliones_lapas
left join (select Vairuotas, MONTH(Data_islaidu), sum(Suma) as Spend from 
    islaidos group by Vairuotas, MONTH(Data_islaidu))
    islaidos on 
    keliones_lapas.Vairuot_Id=islaidos.Vairuotas and 
    MONTH(keliones_lapas.Data_darbo)=MONTH(islaidos.Data_islaidu)
group by keliones_lapas.Vairuot_Id, MONTH(keliones_lapas.Data_darbo), Suma
order by keliones_lapas.Vairuot_Id, MONTH(keliones_lapas.Data_darbo);

我收到了这个错误:

1054 - “字段列表”中的未知列“Suma”

我知道这个问题是已知的,但我不知道如何自行解决。 This is the cause of the issue which is solved

我可以提供小提琴:http://sqlfiddle.com/#!9/e76ef9/8

【问题讨论】:

  • 小提琴在“字段列表”中给出错误未知列“Suma”
  • 是的,我的意思是我需要解决这个问题,它提供的错误无关紧要。我不确定如何解决字段列表或其他字段列表

标签: mysql sql mysql-error-1054


【解决方案1】:

您只需为子查询中的所有计算列设置别名,然后您可以在ON 子句中引用这些别名。这是您使用别名的 Data_islaidu 和 Suma 列的 SQL:

select keliones_lapas.Vairuot_Id, MONTH(keliones_lapas.Data_darbo), sum(keliones_lapas.uzdarbis) as Got, coalesce(Suma, 0) AS Spend, (sum(keliones_lapas.uzdarbis) - coalesce(Suma, 0)) Total
from keliones_lapas
left join (
    select 
        Vairuotas, 
        MONTH(Data_islaidu) as Data_islaidu, 
        sum(Suma) as Suma 
     from islaidos 
     group by Vairuotas, MONTH(Data_islaidu)) islaidos 
on keliones_lapas.Vairuot_Id = islaidos.Vairuotas 
and MONTH(keliones_lapas.Data_darbo) = MONTH(islaidos.Data_islaidu)
group by keliones_lapas.Vairuot_Id, MONTH(keliones_lapas.Data_darbo), Suma
order by keliones_lapas.Vairuot_Id, MONTH(keliones_lapas.Data_darbo);

【讨论】:

  • 感谢您解决了错误!你能看看我的sql,看看他为什么不计算Spend吗?
  • 这可能是因为 islaidos.Suma 有很多空值。在子查询中尝试 SUM(COALESCE(Suma, 0)) AS Suma 以获取 0 而不是空值。
猜你喜欢
  • 2013-10-20
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
相关资源
最近更新 更多