Referenciando Tabelas de Consulta Externa em uma Subconsulta
É possível referenciar uma consulta externa em uma subconsulta com o MySQL? Eu sei que existemalguns casos em que isso é possível:
SELECT *
FROM table t1
WHERE t1.date = (
SELECT MAX(date)
FROM table t2
WHERE t2.id = t1.id
);
Mas estou pensando se algo assim poderia funcionar:
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';
Eu sei que poderia conseguir o mesmo usando umGROUP BY
ou puxando a parte externaWHERE
na subconsulta, mas eu preciso disso para geração automática de SQL e não posso usar nenhuma das alternativas por vários outros motivos.
ATUALIZAR: Desculpe, a pergunta levou a alguma confusão: A primeira consulta é apenas um exemplo de trabalho, para demonstrar o que eunão necessidade.
ATUALIZAÇÃO 2: Preciso das comparações u.id = p.user: o primeiro conta os usuários que ingressaram antes de '2009-10-10', enquanto o outro é uma condição de ingresso que associa as linhas da tabela corretamente.