如何返回带有特定ID的Name?

时间:2018-12-07 17:37:01

标签: mysql sql select innodb

假设我们有一个这样的表

+------------+-----------+
| EmployeeID | Name      |
+------------+-----------+
|          1 | Peter     |          
|          2 | John      |   
|          3 | Henry     |     

现在,我想用其主键返回所有名称。彼得(1),约翰(2),亨利(3),...

    +------------+
    | Test       |
    +------------+
    |   Peter(1) |      
    |    John(2) |   
    |   Henry(3) | 

我尝试了一些特定的SELECT语句,但没有得到想要的结果

3 个答案:

答案 0 :(得分:1)

使用concat将字符串连接在一起。

SELECT 
    Concat(`Name`,'(', employeeID, ')') AS EmployeeWithId
FROM EmployeeTable

请注意,如果使用的任何列为null,则concat将返回null。

另一方面,concat_ws(delimitter, string1, string2)将返回一个字符串,即使任何使用的列是null

SELECT 
    concat_ws('',`Name`,'(', employeeID, ')') AS EmployeeWithId
FROM EmployeeTable

答案 1 :(得分:1)

使用mysql的CONCAT函数:

SELECT CONCAT(A.Name, '(', A.EmployeeID, ')') AS Test FROM myTable AS A;

答案 2 :(得分:0)

如果您希望使用字符串格式的广告名称(1),则可以使用concat

select  concat(Name, '(',EmployeeID,')')  test
from myTable