我想使用 mysql 将表中的两列与现有列名连接起来。
一个例子:我有一列 FIRSTNAME
和 LASTNAME
以及很多列。我只想将这两列与名称 FIRSTNAME
连接起来。
所以我试过这样:
SELECT *, CONCAT(FIRSTNAME, ',', LASTNAME) AS FIRSTNAME FROM `customer`;
但它显示名称为
FIRSTNAME
的两个字段。一个字段具有正常值,另一个字段具有连接值。我只想要一列带有这些连接值的列。我可以选择单列,但我的表中有 40 多列。有没有办法使用mysql本身删除原始列?
最佳答案
正如 aziz-shaikh 所指出的那样,无法抑制 *
指令中的单个列,但是您可以使用以下技巧:
SELECT CONCAT(c.FIRSTNAME, ',', c.LASTNAME) AS FIRSTNAME,
c.*
FROM `customer` c;
这样做将导致第二次出现的
FIRSTNAME
列采用别名 FIRSTNAME_1
,因此您应该能够安全地处理您自定义的 FIRSTNAME
列。您需要对表进行别名,因为 *
在除开始之外的任何位置都将失败,如果没有别名。希望有帮助!
关于mysql - 如何使用mysql中现有的列名将两列合并为一列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20284528/