我想使用mysql将表中的两列与现有的列名连接起来。
一个例子:我有一列FIRSTNAME,LASTNAME也有很多列。我想将这两列与FIRSTNAME仅名称连接。
FIRSTNAME
LASTNAME
所以我尝试这样:
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列。您需要对表进行别名处理,因为*如果不使用别名,那么在开头以外的任何位置都将失败。
FIRSTNAME_1
希望有帮助!