描述:selectcolumn1+10asc1,c1+10asc2fromtable1;想实现上面的效果,结果在mysql里面报错了,提示找不到c1这个列;但是selectcolumn1+10asc1wherec1>0fromtable1;这种又是可以的;问题:想知道为什么存在这个问题,还有如果想在表达式中引用列别名,有没有方法可以实现?希望有大牛能贴个详细点的回答出来,介绍下这背后的sql机制,分析下为什么不支持这种方式;这个问题我在stackoverflow有查过,找到的方案也是用子查询跟@申明变量这两种方式;另外个人感觉子查询跟@申明变量这两种方式不够简洁,不知道有没有更好的方案;
心有法竹
沧海一幻觉
相关分类