MySQL 5 оставил соединение неизвестным столбцом

Я имел ниже запроса, работающего в mysql 4.1, но не делаю в 5,0:

SELECT * FROM email e, event_email ee 
LEFT JOIN member m on m.email=e.email 
WHERE ee.email_id = e.email_id

Ошибка: 1054 (Неизвестный столбец 'e.email' в 'на пункте')

12
задан OMG Ponies 26 April 2011 в 03:03
поделиться

1 ответ

Вы можете ссылаться только на таблицы, ранее связанные с предложением JOIN в предложении ON .

SELECT  *
FROM    email e
JOIN    event_email ee 
ON      ee.email_id = e.email_id
LEFT JOIN
        member m
ON      m.email = e.email 

Это можно проиллюстрировать лучше, если я заключу в скобки ANSI JOINS в исходном запросе:

SELECT  *
FROM    email e,
        (
        event_email ee
        LEFT JOIN
                member m
        ON      m.email = e.email 
        )
WHERE   ee.email_id = e.email_id

Как видите, нет источника для e.email в круглых скобках: поэтому решить не удалось.

17
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: