Você não pode usar um alias de coluna em
WHERE
cláusula. Então você envolve sua consulta em uma seleção externa e aplica sua condição lá
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
ou você pode introduzir essa condição em
HAVING
cláusula em vez disso SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Outra abordagem é usar
CROSS JOIN
e aplique sua condição em WHERE
cláusula SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Aqui está SQLFiddle demo para todas as consultas acima mencionadas.