2016-05-30 77 views
0

人觉得专栏,我写这篇文章的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。

此查询用于获取用户的名称,小时数(总小时数)和计费小时数的总和(表格中有一个特殊的标志,表示这一点)。如果这是实现我想要的结果的最佳方式,我也乐于提供建议。

回答

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)