mysql - #1054 on 子句错误中的未知列

标签 mysql sql

我有以下 MySQL 查询:

SELECT Ychastok_number AS 'Номер участка',podrazdelenie.Name AS Объект,type.Name AS Машина,avto.Marka AS Марка, avto.Gos_number AS 'Гос.Номер', avto.Invent_num AS 'Инвентарный номер', SUM(OtrabotanoMachine_hours) as 'Часов в рабочих сменах',SUM(sec.Hours) as Простои,SUM(TimeRaboty_dvigatelya)AS 'Отработано времени',TRUNCATE((SUM(sec.Hours)/ SUM(OtrabotanoMachine_hours))*100,1) as 'Процент простоев от часов рабочих смен', TRUNCATE((SUM(TimeRaboty_dvigatelya)/ SUM(OtrabotanoMachine_hours))*100,1) as 'Процент работ', CONVERT(group_concat(concat(prostoy.Prichina,'=',sec.Hours) separator ';') USING 'utf8') as 'Причины простоев'
FROM
jos_addRabotyAndProstoyMain main
INNER JOIN avto ON main.Marka=avto.ID_Avto
INNER JOIN typeconstructionmechanizm type ON main.Machine = type.ID_TypeConstructionMechanizm
INNER JOIN podrazdelenie ON main.Ychastok = podrazdelenie.ID_Podrazdelenie
INNER JOIN prostoy ON jos_addRabotyAndProstoySecond.Prostoy = prostoy.ID_Prosyoy
INNER JOIN (
   SELECT id_fk, SUM(Hours) AS Hours
   FROM jos_addRabotyAndProstoySecond 
   GROUP BY id_fk) sec ON sec.id_fk = main.id
GROUP BY  Ychastok_number,podrazdelenie.Name,type.Name,avto.Marka,avto.Gos_number,avto.Invent_num

我收到这个错误:

#1054 - “on 子句”中的未知列“jos_addRabotyAndProstoySecond.Prostoy”

添加这一行之后

INNER JOIN prostoy ON jos_addRabotyAndProstoySecond.Prostoy = prostoy.ID_Prosyoy

如何解决这个错误?

最佳答案

您没有别名或名称为 jos_addRabotyAndProstoySecond 的表。因此该列是未知的。

事实上,除了在子查询中,查询中根本没有这张表的证据。您可以:

  • 使用另一个表中的(适当的)列
  • FROM 子句中包含您想要的表
  • join放在子查询中

不清楚你想要完成什么;所以很难给出具体的建议。

关于mysql - #1054 on 子句错误中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36239719/

相关文章:

sql - 根据另一个表中的列名从一个表中选择列

php - 如何获取表格每天的大小

mysql - 是否可以在 MySQL 中连接两个不相关的表?

php - Mysql连接错误

mysql - 组列与无组列的混合

Java - 使用通用参数调用存储过程

mysql - 在mysql中的同一个表中插入一行后,如何从其他列的内容填充列

需要 mysql 索引指导 - group by 子查询超慢

mysql - 您可以在 (MySQL) sql 查询中使用字段注释/描述作为别名吗?

mysql - 如何在单独的 mysql 表中搜索术语?