Ошибка с моими левыми присоединениями?

0

Я думаю, что сегодня кофе не достаточно силен. Мне нужно запросить таблицу fb-celebotd, чтобы получить фотоид, соответствующий fb-celebotd.celebdate. Большая часть необходимой информации зависит от таблицы фотографий.

Ниже приведена ошибка mysql:

Select photos.*,photographer.name, events.eventname, events.eventhome, subevents.subeventname, photodir.photodir, fb-celebotd.celebdate, fb-celebotd.trivia 
      from photos 
LEFT JOIN fb-celebotd ON (photos.photoid = fb-celebotd.photoid) 
LEFT JOIN photodir ON (photos.photodirid = photodir.photodirid) 
LEFT JOIN photographer ON (photos.photographerid = photographer.photographerid) 
LEFT JOIN events ON (photos.eventid = events.eventid) 
LEFT JOIN subevents ON (photos.subeventid = subevents.subeventid) 
WHERE fb-celebotd.celebdate=1277092800

Является ли это выполнимым в одном запросе или мне нужно сначала запросить fb-celebotd для фотоиды и пустяков, а затем запросить другие таблицы на основе фотоиды?

Спасибо.

Теги:

2 ответа

3
Лучший ответ

Должно ли fb-celebotd (с тире) fb_celebotd (с подчеркиванием)? Если имя таблицы имеет тире, вам придется указать имя таблицы: "fb-celebotd". В противном случае тире обрабатывается как знак минуса и пытается вычесть celebotd из fb (оба неизвестны).

  • 0
    Я знал, что мой кофе был слабым. Спасибо за второй набор глаз. Поменял имя таблицы и все заработало.
1

Если у вас действительно есть таблица с именем fb-celebotd, вам нужно указывать имя таблицы каждый раз, когда вы используете ее в запросе:

Select photos.*,photographer.name, events.eventname, events.eventhome, subevents.subeventname, photodir.photodir, `fb-celebotd`.celebdate, `fb-celebotd`.trivia 
      from photos 
LEFT JOIN `fb-celebotd` ON (photos.photoid = `fb-celebotd`.photoid) 
LEFT JOIN photodir ON (photos.photodirid = photodir.photodirid) 
LEFT JOIN photographer ON (photos.photographerid = photographer.photographerid) 
LEFT JOIN events ON (photos.eventid = events.eventid) 
LEFT JOIN subevents ON (photos.subeventid = subevents.subeventid) 
WHERE `fb-celebotd`.celebdate=1277092800

Ещё вопросы

Сообщество Overcoder
Наверх
Меню