Du kan ikke bruge et kolonnealias i WHERE
klausul.
Så enten pakker du din forespørgsel ind i en ydre markering og anvender din betingelse der
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
eller du kan introducere den betingelse i HAVING
klausul i stedet for
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Endnu en fremgangsmåde er at bruge CROSS JOIN
og anvend din betingelse i WHERE
klausul
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Her er SQLFiddle demo for alle ovennævnte forespørgsler.