您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在MySQL中按别名选择列

在MySQL中按别名选择列

简短答案:

到目前为止,我发现的唯一文档是:https ://bugs.mysql.com/bug.PHP?id=79549

在该链接中有以下内容

[2015年12月9日15:35] Roy Lyseng …这是原始决定的较长背景:

与在WHERE子句(和GROUP BY)中子查询中对别名的引用相反, ,因为它们应该 中可用。查询执行的同一阶段。但是5.6中的支持相当随意:

鉴于此:创建表t1(a int,b int),

SELECT列表中的别名无效:

  select a+b as c,c+1 from t1;

错误1054(42S22):“字段列表”中的未知列“ c”

但是在子查询中,对c的引用是有效的:

  select a+b as c,(select c+1) from t1;

并且子查询必须在别名定义之后:

  select (select c+1),a+b as c from t1;

错误1247(42S22):不支持参考“ c”(项目列表中的前向参考)

因此,很容易说 支持是非常特殊的。尽管如此,我们将尝试重新实现旧的解决方案,但没有尝试清除此功能支持中的明显漏洞。但是,不会在WHERE子句中的子查询中引用别名。

除了在标准文档中描述此功能错误报告之外,我还一直在寻找文档。但到目前为止没有运气。

MySQL 2022/1/1 18:50:03 有266人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶