如何使用mysql中的现有列名将两列连接成一列?

 手机用户2602932547 发布于 2023-02-13 19:38

我想使用mysql将表中的两列与现有列名连接起来.

一个例子:我有一个列FIRSTNAME,LASTNAME还有很多列.我想用FIRSTNAME仅名称连接这两列.

所以我试着这样:

 SELECT *, CONCAT(FIRSTNAME, ',', LASTNAME) AS FIRSTNAME FROM `customer`;

但它显示名称为的两个字段FIRSTNAME.一个字段具有正常值,另一个字段具有连接值.我只想要一个具有这些连接值的列.我可以选择单列,但我的表中有超过40列.

有没有办法使用mysql本身删除原始列?

2 个回答
  • 您可以使用指定所需的表列,而不是在sql语句中使用*获取所有表列.

    您可以使用SQL语句:

    SELECT CONCAT(FIRSTNAME, ' ', LASTNAME) AS FIRSTNAME FROM customer;
    

    顺便说一句,为什么你不能使用FullName而不是FirstName?像这样:

    SELECT CONCAT(FIRSTNAME, ' ', LASTNAME) AS 'CUSTOMER NAME' FROM customer;
    

    2023-02-13 19:41 回答
  • 正如aziz-shaikh指出的那样,没有办法从*指令中抑制单个列,但是你可以使用以下hack:

    SELECT CONCAT(c.FIRSTNAME, ',', c.LASTNAME) AS FIRSTNAME,
           c.*
    FROM   `customer` c;
    

    执行此操作将导致FIRSTNAME列的第二次出现采用别名,FIRSTNAME_1因此您应该能够安全地处理自定义FIRSTNAME列.您需要对表进行别名,因为*如果没有别名,除了在开始之外的任何位置都将失败.

    希望有所帮助!

    2023-02-13 19:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有