Можно ли ссылаться на внешний запрос в подзапросе с MySQL? Я знаю, что есть случаи, когда это возможно:
SELECT *
FROM table t1
WHERE t1.date = (
SELECT MAX(date)
FROM table t2
WHERE t2.id = t1.id
);
Но мне интересно, может ли что-то подобное работать:
SELECT u.username, c._postCount
FROM User u
INNER JOIN (
SELECT p.user, COUNT(*) AS _postCount
FROM Posting p
--# This is the reference I would need:
WHERE p.user = u.id
GROUP BY p.user
) c ON c.user = u.id
WHERE u.joinDate < '2009-10-10';
Я знаю, что я мог бы достичь того же, используя GROUP BY
или, потянув внешнее предложение WHERE
в подзапрос, но мне это нужно для автоматической генерации SQL и не может использовать альтернативу по другим причинам.
ОБНОВЛЕНИЕ. Извините, вопрос привел к некоторой путанице: первый запрос - это просто рабочий пример, чтобы продемонстрировать, что мне не нужно.
ОБНОВЛЕНИЕ 2. Мне нужны оба сравнения u.id = p.user: первый подсчитывает пользователей, которые присоединились до "2009-10-10", а другой - условие объединения, которое связывает таблицы правильно.