mysql PHP join - 语法问题


mysql PHP join - syntax issue

我正在尝试连接 3 个表,但我的查询不断出错。我不确定我做错了什么。我一定是用我的语法做了一些不正确的事情,但我不太确定出了什么问题。

SELECT project_timecard_tasks.DateTime,
        project_timecard_tasks.Total_Hours,
        project_timecard_tasks.User_ID,
        project_timecard_tasks.Task_ID,
        project_timecard_tasks.Project_ID,
        users.User_ID,
        users.FirstName,
        users.LastName,
        tasks.id,
        tasks.taskName
 FROM project_timecard_tasks
 JOIN project_timecard_tasks ON project_timecard_tasks.User_ID = users.User_ID 
 AND project_timecard_tasks.Task_ID = tasks.id
 WHERE project_timecard_tasks.Project_ID = '$jobNumber'

你的JOIN陈述有点不稳定。 试试这个:

SELECT project_timecard_tasks.DateTime,
        project_timecard_tasks.Total_Hours,
        project_timecard_tasks.User_ID,
        project_timecard_tasks.Task_ID,
        project_timecard_tasks.Project_ID,
        users.User_ID,
        users.FirstName,
        users.LastName,
        tasks.id,
        tasks.taskName
 FROM project_timecard_tasks
 JOIN users ON project_timecard_tasks.User_ID = users.User_ID 
 JOIN tasks ON project_timecard_tasks.Task_ID = tasks.id
 WHERE project_timecard_tasks.Project_ID = '$jobNumber'

您正在从三个表中选择数据(project_timecard_tasks , users and tasks)但在from子句中您只提到了一个表。 您需要提及所有表名称,例如:

 FROM project_timecard_tasks ,users, tasks

You JOIN 不正确。 您需要指定要连接的表。 将其替换为:

JOIN users ON project_timecard_tasks.User_ID = users.User_ID 
JOIN tasks ON project_timecard_tasks.Task_ID = tasks.id

删除AND并在第二个连接语句中使用JOIN

JOIN project_timecard_tasks ON project_timecard_tasks.User_ID = users.User_ID JOIN project_timecard_tasks.Task_ID = tasks.id