Du kan inte använda ett kolumnalias i WHERE
klausul.
Så antingen slår du in din fråga i ett yttre urval och tillämpar ditt villkor där
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
eller så kan du introducera det villkoret i HAVING
klausul istället
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Ytterligare ett tillvägagångssätt är att använda CROSS JOIN
och tillämpa ditt villkor i WHERE
klausul
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Här är SQLFiddle demo för alla ovan nämnda frågor.