0

我正在尝试在 MySQL 中将一些表连接在一起,但我似乎收到一条错误消息:#1066 - Not unique table/alias: 'calendar_jobs'

我真的希望它从 cal_events、2 个用户位和工作表中的目标 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 子句'中的未知列'calendar_events.jobID'

这次是什么情况!?

再次感谢!

4

3 回答 3

2

您不应该calendar_jobs在 FROM 子句中使用,因为您已经在 J​​OIN 中指定了它。试试这个:

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 中表的顺序已切换,因为您将事件与作业相结合。

于 2010-06-11T08:51:42.637 回答
1

运行这个:show create table calendar_events;,并在此处发布结果。

我们需要查看表结构来回答您的第二个问题。

于 2010-06-14T09:40:13.897 回答
0

calendar_jobs在查询中列出了两次。

一次在第二行,一次在 RIGHT JOIN 语句。

于 2010-06-11T08:50:58.240 回答