您的位置:首頁技術文章
文章詳情頁

MYSQL中如何把SELECT A AS B中的B作為WHERE篩選條件

瀏覽:105日期:2022-06-18 14:10:06

問題描述

比如SELECT a AS b WHRER b=1;

我這樣使用會報錯,說b不存在。

問題解答

回答1:

因為mysql底層跑SQL語句時:where 后的篩選條件在先, as B的別名在后。所以機器看到where 后的別名是不認的,所以會報說B不存在。

如果非要用B做篩選條件的話:解決方案:外邊再嵌套一層。select * from(select A as B from table) t where t.B = XXX -- 任意的篩選條件

如果不嵌套,只能用A做篩選條件了

回答2:

當然不存在,這個b只針對與a查詢結果的一個別名 select a AS b FROM table where a = 1

回答3:

select t.b from(

select a as B from table

) t

where t.b =xxxx

此時的B是可以直接在where中使用的

回答4:

b是對查詢結果a取的別名where里面肯定是不存在啊

相關文章:
国产综合久久一区二区三区