Коррелированные подзапросы mysql
HI я хочу получить значение переменной из основного запроса внутри подзапроса
ВЫБЕРИТЕ t1., кв., считать (отличный (t4.col1)) как количество, ОТ t1 СЛЕДУЮЩЕЕ ВНЕШНЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ t2.col1,
t2.col2,
t2.col3 ОТ t2 ГДЕ t2.col1=t1.col1
ЗАКАЗАТЬ по t2.col2 DESC, t2.col1 DESC) как sq
ON sq.col1=t1.col1
ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ t3 ВКЛ t3.col1=t1.col4 ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ t4 ВКЛ t4.col1=t1.col4 ГДЕ t3.col2=x ГРУППА ПО t1.col3 ПРЕДЕЛ 15
Как мне получить значение переменной t1.col1 внутри подзапроса sq, когда я присоединяюсь к нему в том же столбце??
1 ответ
Вы не можете, но следующий должен вернуть эквивалентные результаты, как запрос, который вы отправили.
SELECT t1.col3
FROM t1
left outer join (
select t2.col1
,t2.col2
,t2.col3
,t2.col4
FROM t2
) as sq on sq.col1 = t1.col1
AND sq.col4 = t1.col1
where t1.col2 = x
group by
t1.col3
limit 15
Примечание: исходный запрос, который вы разместили, содержит несколько синтаксических ошибок.
- выберите * с группой по
- упорядочить в под-выборе
- используя внешний выбор в подвыборке (ваш вопрос)