Sie können keinen Spaltenalias in WHERE
verwenden Klausel.
Sie packen Ihre Abfrage also entweder in eine äußere Auswahl und wenden dort Ihre Bedingung an
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
oder Sie können diese Bedingung in HAVING
einführen Klausel statt
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Ein weiterer Ansatz ist die Verwendung von CROSS JOIN
und wenden Sie Ihre Bedingung in WHERE
an Klausel
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Hier ist SQLFiddle Demo für alle oben genannten Abfragen.