У меня есть три таблицы. Я пытаюсь извлечь данные из двух таблиц и вставить в третью, если существует ряд обстоятельств. Когда я запускаю свой запрос, я получаю
"# 1054 - Неизвестный столбец 'rvp_to_registrants_to_events.rvp_to_registrants_id' в 'where clause'"
Вот мой запрос:
INSERT INTO rvp_to_registrants_to_events (rtr.rvp_to_registrants_id, rte.events_id)
SELECT
rtr.rvp_to_registrants_id, rte.events_id
FROM
registrants_to_events rte,rvp_to_registrants rtr
WHERE (
SELECT
rte.registrants_id, rte.events_id,
rtr.rvp_to_registrants_id, rtr.registrants_id
FROM
registrants_to_events rte,rvp_to_registrants rtr
WHERE
rte.registrants_id = rtr.registrants_id
AND (rtr.rvp_to_registrants_id != rvp_to_registrants_to_events.rvp_to_registrants_id
AND rte.events_id != rvp_to_registrants_to_events.events_id)
)
Я не могу понять, почему я получаю эту ошибку. Я уверен, что это что-то тупое, что я упускаю из виду, но любая помощь приветствуется.
Спасибо!
По словам Михаила, я обновил свой код следующим образом. Теперь возвращаю ноль результатов, поэтому работаю над этим:
INSERT INTO rvp_to_registrants_to_events (rvp_to_registrants_id, events_id)
SELECT
rtr.rvp_to_registrants_id, rte.events_id
FROM
registrants_to_events rte
JOIN rvp_to_registrants rtr ON rte.registrants_id = rtr.registrants_id
JOIN rvp_to_registrants_to_events rtrte ON rtr.rvp_to_registrants_id = rtrte.rvp_to_registrants_id
WHERE
rte.registrants_id = rtr.registrants_id
AND
(rtr.rvp_to_registrants_id != rtrte.rvp_to_registrants_id
AND
rte.events_id != rtrte.events_id)