Сообщение Re: [MySql] доступ к родительскому контексту из подзапроса от 09.07.2019 23:49
Изменено 09.07.2019 23:57 VladCore
Re: [MySql] доступ к родительскому контексту из подзапроса
Здравствуйте, mogadanez, Вы писали:
M>Есть такой запрос:
M>
M>ошибка
M>
M>такое как нибудь обходится?
Наверно join-ом. В MySQL это называется correlated subqueries
https://dev.mysql.com/doc/refman/8.0/en/correlated-subqueries.html
https://www.geeksengine.com/database/subquery/correlated-subquery.php
Для начала так:
M>Есть такой запрос:
M>
M>Select parent.*,
M>( Select count(*) from ( Select e.email, e.task_id
M> from event e
M> where e.company_id = parent.company_id
M> AND e.event_type_id in (10, 11, 12)
M> AND e.email in ( 'email1', 'email2' )
M> AND e.task_id in ( 5,10,15 )
M> GROUP by e.email, e.subject_id ) as pairs ) as done
M>from parent_table parent
M>
M>ошибка
M>
M> #1054 — Unknown column 'parent.company_id' in 'where clause'
M>такое как нибудь обходится?
Наверно join-ом. В MySQL это называется correlated subqueries
https://dev.mysql.com/doc/refman/8.0/en/correlated-subqueries.html
https://www.geeksengine.com/database/subquery/correlated-subquery.php
Для начала так:
from
parent_table parent
inner join
(
Select e.email, e.task_id, e.company_id
from event e
where /* e.company_id = parent.company_id
AND */ e.event_type_id in (10, 11, 12)
AND e.email in ( 'email1', 'email2' )
AND e.task_id in ( 5,10,15 )
GROUP by e.email, e.subject_id, e.company_id
) as pairs
on pairs.company_id = parent.company_id
Re: [MySql] доступ к родительскому контексту из подзапроса
Здравствуйте, mogadanez, Вы писали:
M>Есть такой запрос:
M>
M>ошибка
M>
M>такое как нибудь обходится?
Наверно join-ом. В MySQL это называется correlated subqueries
https://dev.mysql.com/doc/refman/8.0/en/correlated-subqueries.html
https://www.geeksengine.com/database/subquery/correlated-subquery.php
Для начала, внутренний select выгядит так:
M>Есть такой запрос:
M>
M>Select parent.*,
M>( Select count(*) from ( Select e.email, e.task_id
M> from event e
M> where e.company_id = parent.company_id
M> AND e.event_type_id in (10, 11, 12)
M> AND e.email in ( 'email1', 'email2' )
M> AND e.task_id in ( 5,10,15 )
M> GROUP by e.email, e.subject_id ) as pairs ) as done
M>from parent_table parent
M>
M>ошибка
M>
M> #1054 — Unknown column 'parent.company_id' in 'where clause'
M>такое как нибудь обходится?
Наверно join-ом. В MySQL это называется correlated subqueries
https://dev.mysql.com/doc/refman/8.0/en/correlated-subqueries.html
https://www.geeksengine.com/database/subquery/correlated-subquery.php
Для начала, внутренний select выгядит так:
from
parent_table parent
inner join
(
Select e.email, e.task_id, e.company_id
from event e
where /* e.company_id = parent.company_id
AND */ e.event_type_id in (10, 11, 12)
AND e.email in ( 'email1', 'email2' )
AND e.task_id in ( 5,10,15 )
GROUP by e.email, e.subject_id, e.company_id
) as pairs
on pairs.company_id = parent.company_id