Было: Не уникальная таблица :: Сейчас: # 1054 - Неизвестный столбец - не можете понять, почему? - PullRequest
0 голосов
/ 11 июня 2010

Я пытаюсь объединить несколько таблиц в MySQL, но мне кажется, что я получаю сообщение об ошибке: # 1066 - Не уникальная таблица / псевдоним: 'calendar_jobs'

Я действительно хочу, чтобы он выбрал все из cal_events, 2 пользовательских бита и просто целевое col из таблицы заданий, но стал "нулевым", если задания нет. Правильное соединение, казалось, отвечало всем требованиям, но не работает! Кто-нибудь может помочь!?

UPDATE:

Спасибо за помощь по предыдущему запросу, я теперь до этого:

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 - Неизвестный столбец 'calendar_events.jobID' в 'предложении'

Что на этот раз!?

Еще раз спасибо!

Ответы [ 3 ]

2 голосов
/ 11 июня 2010

Вы не должны использовать calendar_jobs в предложении FROM, потому что вы уже указали его в 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

Ответ для обновления:

Все свидетельства указывают на то, что столбца в этой таблице не существует:).

Попробуйтеthis:

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 голос
/ 14 июня 2010

Запустите: show create table calendar_events; и опубликуйте результаты здесь.

Нам нужно увидеть структуру таблицы, чтобы ответить на ваш второй вопрос.

0 голосов
/ 11 июня 2010

В вашем запросе указано calendar_jobs дважды.

Один раз во второй строке и один раз в операторе RIGHT JOIN.

...