我正在尝试在MySQL中加入一些表,但我似乎得到一个错误说:#1066 - 不唯一的表/别名:'calendar_jobs'
我真的希望它从cal_events,2个用户位和job表中的目标col中选择所有内容,但如果没有任何作业则变为“null”。正确的加入似乎符合要求,但不起作用!任何人都可以帮忙!?
更新
感谢您对上一个查询的帮助,我现在要做到这一点:
SELECT calendar_events.* , calendar_users.doctorOrNurse, calendar_users.passportName, calendar_jobs.destination
FROM `calendar_events` , `calendar_users`
RIGHT JOIN calendar_jobs ON calendar_events.jobID = calendar_jobs.jobID
WHERE `start` >= 0
AND calendar_users.userID = calendar_events.userID;
但我现在收到一条错误说:#1054 - 'on clause'中的未知栏'calendar_events.jobID'
这次是什么时候!?
再次感谢!
答案 0 :(得分:2)
您不应在FROM子句中使用calendar_jobs
,因为您已在JOIN中指定了它。试试这个:
SELECT calendar_events.* , calendar_users.doctorOrNurse, calendar_users.passportName, calendar_jobs.destination
FROM `calendar_events` , `calendar_users`
RIGHT JOIN calendar_jobs ON calendar_events.jobID = calendar_jobs.jobID
WHERE `start` >=0
AND calendar_users.userID = calendar_events.userID
回答更新:
所有证据似乎都表明该表中不存在该列:)。
试试这个:
SELECT calendar_events.* , calendar_users.doctorOrNurse, calendar_users.passportName, calendar_jobs.destination
FROM `calendar_users`, `calendar_events`
RIGHT JOIN calendar_jobs ON calendar_events.jobID = calendar_jobs.jobID
WHERE `start` >=0
AND calendar_users.userID = calendar_events.userID
已切换FROM中表的顺序,因为您将事件与作业连接。
答案 1 :(得分:1)
运行此:show create table calendar_events;
,并在此处发布结果。
我们需要看表结构来回答你的第二个问题。
答案 2 :(得分:0)
您的查询中列出了calendar_jobs
两次。
一旦在第二行,一次在RIGHT JOIN声明中。