简体   繁体   English

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

[英]#1054 unknown column in on clause error

I have the following MySQL query:我有以下 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

And I'm getting this error:我收到此错误:

#1054 - Unknown column 'jos_addRabotyAndProstoySecond.Prostoy' in 'on clause' #1054 - 'on 子句'中的未知列'jos_addRabotyAndProstoySecond.Prostoy'

after adding this row添加此行后

INNER JOIN prostoy ON jos_addRabotyAndProstoySecond.Prostoy = prostoy.ID_Prosyoy

how to fix this error?如何修复这个错误?

You have no table with the alias or name jos_addRabotyAndProstoySecond .您没有别名或名称为jos_addRabotyAndProstoySecond Hence the column is unknown.因此该列是未知的。

In fact, there is no evidence of this table at all in the query, except in the subquery.事实上,除了在子查询中,在查询中根本没有这个表的证据。 You can:你可以:

  • use an (appropriate) column from another table使用另一个表中的(适当的)列
  • include the table you want in the FROM clauseFROM子句中包含您想要的表
  • put the join in the subqueryjoin放在子查询中

It is unclear what you want to accomplish;不清楚你想完成什么; so it is hard to make a concrete suggestion.所以很难提出具体的建议。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM