Ответ 1
Вы не можете использовать псевдоним столбца в WHERE
.
Итак, вы либо оберните свой запрос внешним выбором и примените свое условие там
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
или вы можете ввести это условие в HAVING
вместо
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
HAVING d >= 10
Еще один подход заключается в использовании CROSS JOIN
и применении вашего условия в WHERE
разделе
SELECT a, b, c, d
FROM A CROSS JOIN
(
SELECT d FROM B LIMIT 0,1
) q
WHERE d >= 10
Ниже приведена SQLFiddle демонстрация для всех вышеупомянутых запросов.