子查询中的未知列-mysql
我很快就要完成这个困难的问题了。它相当长,所以希望不要太过势不可挡。但在我的示例中,在select块中,我引用了where语句中的一个联合。它给了我MySQL数据库错误:“where子句”中的未知列“U.EmpID”。任何帮助都将不胜感激。以下是查询:子查询中的未知列-mysql,mysql,Mysql,我很快就要完成这个困难的问题了。它相当长,所以希望不要太过势不可挡。但在我的示例中,在select块中,我引用了where语句中的一个联合。它给了我MySQL数据库错误:“where子句”中的未知列“U.EmpID”。任何帮助都将不胜感激。以下是查询: SELECT U.EmpID, CASE WHEN ((SELECT COUNT(*) FROM (SELECT * FROM
SELECT U.EmpID,
CASE
WHEN ((SELECT COUNT(*)
FROM (SELECT *
FROM timeclock_copy tp
WHERE PunchEvent = 'breakin'
AND DATE(tp.PunchDateTime) =
'2013-11-12'
AND tp.EmpID = U.EmpID) AS s) > 1)
AND ((SELECT COUNT(*)
FROM (SELECT *
FROM timeclock_copy tp
WHERE PunchEvent = 'breakout'
AND DATE(tp.PunchDateTime) =
'2013-11-12'
AND tp.EmpID = U.EmpID) AS s) > 1)
THEN
"MULTIPLE BREAKS"
ELSE
"ONE BREAK"
END
AS Lunch
FROM ((SELECT `enter`.EmpID,
`enter`.PunchDateTime AS `time`,
DATE_FORMAT(`enter`.PunchDateTime, '%m-%d-%Y')
AS 'Punch Date',
TIMESTAMPDIFF(SECOND,
`enter`.PunchDateTime,
'2003-05-01 00:00:00')
AS `delta`
FROM timeclock_copy AS `enter`
WHERE `enter`.`In-Out` = 1)
UNION
(SELECT `leave`.EmpID,
`leave`.PunchDateTime AS `time`,
DATE_FORMAT(`leave`.PunchDateTime, '%m-%d-%Y')
AS 'Punch Date',
-TIMESTAMPDIFF(SECOND,
`leave`.PunchDateTime,
'2003-05-01 00:00:00')
AS `delta`
FROM timeclock_copy AS `leave`
WHERE `leave`.`In-Out` = 0)) AS U
LEFT JOIN testclb.prempl pe ON u.EmpID = pe.prempl
WHERE DATE(U.`time`) >= '2013-11-12' AND DATE(U.`time`) < '2013-11-13'
GROUP BY date(U.`time`), EmpID
ORDER BY U.EmpID, U.`time` ASC
FROM子句中的子查询不能与外部语句关联。我认为这就是为什么在“where子句”错误中出现未知列“U.EmpID”。在第4行到最后一行,小写的“U”会是您的问题吗?只是一个猜测,因此评论,而不是回答:好的捕获,不,这没有解决它,虽然愚蠢的问题,但列EmpID确实存在?是的,它存在,我只是检查: