V WHERE
nelze použít alias sloupce doložka.
Takže buď zabalíte svůj dotaz do vnějšího výběru a použijete tam podmínku
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
nebo můžete tuto podmínku zavést v HAVING
místo toho klauzule
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Dalším přístupem je použití CROSS JOIN
a použijte podmínku v WHERE
doložka
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Zde je SQLFiddle demo pro všechny výše uvedené dotazy.