文章詳情頁
MYSQL中如何把SELECT A AS B中的B作為WHERE篩選條件
瀏覽:112日期: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查詢結(jié)果的一個別名 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是對查詢結(jié)果a取的別名where里面肯定是不存在啊
相關文章:
1. docker鏡像push報錯2. angular.js - angular內(nèi)容過長展開收起效果3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. python 怎樣用pickle保存類的實例?5. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機器學習這塊?6. MySQL中無法修改字段名的疑問7. javascript - 微信小程序限制加載個數(shù)8. 大家好,請問在python腳本中怎么用virtualenv激活指定的環(huán)境?9. linux - 升級到Python3.6后GDB無法正常運行?10. 并發(fā)模型 - python將進程池放在裝飾器里為什么不生效也沒報錯
排行榜

熱門標簽