首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL别名和字段具有相同的名称-在Which子句中计算的名称?

MySQL别名和字段具有相同的名称-在Which子句中计算的名称?
EN

Stack Overflow用户
提问于 2016-02-16 08:14:34
回答 4查看 926关注 0票数 1

我有一个mysql查询,它连接多个无法编辑的表的电话号码,我需要创建一个与其中一个表具有相同字段名的输出。我用一个案例陈述来做这件事。下面是我的查询的一个简单版本:

代码语言:javascript
运行
复制
SELECT t1.`id` as id,
CASE 
    WHEN t1.`has_company_phone` = 1  THEN t1.`company_phone`
    ELSE t2.`phone`
END AS `phone`
FROM `input_table1` t1, 
LEFT OUTER JOIN `input_table2` t2
    ON (t2.`id` = t1.`matched_company_id`)
HAVING phone IS NOT NULL;

编辑:在这个查询中,在HAVING子句中是t2.phone正在计算,还是别名phone,或者两者都是?我的目标是在这个having子句中计算别名。

t1.company_phone存在,但是t2. exists是空的。我希望使用t1.company_phone包括此记录,并使用别名be phone。如果我将WHERE改为WHERE子句,则此记录将不会显示。

EN

Stack Overflow用户

回答已采纳

发布于 2016-02-16 09:03:18

在MySQL中,will子句总是从select列表中搜索所需的项。

一旦在“选择”列表中找到,将使用找到的项。

如果找不到,则抛出错误。

更新:

实际上,在您的SQL中,应该用WHERE替换WHERE,因为它与WHERE相同。用什么地方,混乱就会消失。WHERE子句将始终使用实表列,而不是别名。

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35427117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档