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
これが