Nie możesz użyć aliasu kolumny w WHERE
klauzula.
Więc albo otoczysz zapytanie zewnętrznym zaznaczeniem i zastosujesz tam swój warunek
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
lub możesz wprowadzić ten warunek w HAVING
zamiast tego klauzula
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Jeszcze innym podejściem jest użycie CROSS JOIN
i zastosuj swój warunek w WHERE
klauzula
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Oto SQLFiddle demo dla wszystkich wyżej wymienionych zapytań.