が行

2016-05-30 6 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)