无法在行中查找列

时间:2016-05-30 18:31:34

标签: php mysql

伙计们,我正在为我的应用程序编写这段SQL:

SELECT concat(c.contact_first_name,' ',c.contact_last_name) as user,
sum(tl.task_log_hours) as total_hours,
sum(tl1.task_log_hours) as billable_hours
FROM u364432559_dotpd.dotp_task_log tl, u364432559_dotpd.dotp_contacts c, u364432559_dotpd.dotp_projects p, u364432559_dotpd.dotp_companies co, u364432559_dotpd.dotp_tasks tk, u364432559_dotpd.dotp_users u
LEFT JOIN u364432559_dotpd.dotp_task_log tl1 on tl.task_log_creator = tl1.task_log_creator ... //where clauses omitted for brevity//

当我运行它时,它会说" Unknown column 'tl.task_log_creator' in 'on clause'"。这是为什么?之前引用了tl表,我加入了tl1。

此查询用于获取用户的名称,小时数(总小时数)和可计费小时数之和(表格上有一个特殊标志,表示该数字)。如果这是达到我想要的结果的最佳方式,我也愿意接受建议。

1 个答案:

答案 0 :(得分:0)

如果您在表单中使用了大量表格,则必须使用()才能在JOIN中看到所有表格。所以:

FROM (u364432559_dotpd.dotp_task_log tl, u364432559_dotpd.dotp_contacts c, u364432559_dotpd.dotp_projects p, u364432559_dotpd.dotp_companies co, u364432559_dotpd.dotp_tasks tk, u364432559_dotpd.dotp_users u)