MYSQL中如何把SELECT A AS B中的B作为WHERE筛选条件
PHPz
PHPz 2017-04-17 15:36:18
0
4
636

比如SELECT a AS b WHRER b=1;

我这样使用会报错,说b不存在。

PHPz
PHPz

学习是最好的投资!

全部回覆(4)
迷茫

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

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

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

大家讲道理

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

巴扎黑

select t.b from
(

select a as B from table

) t

where t.b =xxxx

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

巴扎黑

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!