Почему существует ошибка =>uknown column devgeo.id
в части всего запроса? Ниже.коррелированный запрос в соединении MySQL
' select devgeo.id from device_geolocation devgeo inner join (select concat(''received_posts_'', cast(devgeo.id as char))) rcv_posts on(devgeo.id=rcv_posts.id)',
Кроме того, почему установка @a=devgeo.id
и использование @a
в cast(@a as char)
дает ошибку, что нет никакого столбца в where
? Ниже.
rcv_posts.post_id != ', cast(post_id as char),
Во-первых, я считаю, что каждый подзапрос имеет доступ к его родительским псевдонимам запроса. Во-вторых, как я испытал при реализации первой части всего запроса в разделе where
с использованием оператора exists
, но произошла такая же ошибка - unknown column devgeo.id
. После использования пользовательской переменной произошла ошибка - unknown column
, но для имени объединенной таблицы в операторе exists
.
@for Гордон
set @q = (select concat('insert into ', created_table_name,
' select @a=devgeo.id from device_geolocation devgeo inner join (select concat(''received_posts_'', cast(@a as char))) rcv_posts on(devgeo.id=rcv_posts.id)',
' where devgeo.id != ', cast(deviceid as char),
' and devgeo.id != ', cast(post_device_id as char),
' and rcv_posts.post_id != ', cast(post_id as char),
' limit ', cast(x as char)));
Ваш запрос не имеет смысла. Вы должны лучше представить свой фактический запрос в вопросе. Например, столбцы 'join' не определены. В одном столбце в подзапросе не указан псевдоним. Нет предложения 'from', но, вероятно, он есть. –
Что вы подразумеваете под словом join columns? Из предложения в начале. – programmist