mysql - personalizado - ¿Cómo combinar múltiples columnas como una y formatear con cadenas personalizadas?
joyas personalizadas (3)
SELECT id, <X> AS name FROM `table`
Básicamente <X>
es una combinación de
apellido + '','' + primer nombre
ejemplo seria
id | name |
2 | Smith, Bob |
3 | Jones, Susy |
Esto es solo un ejemplo, realmente no quiero combinar nombres tan simples.
¿Qué pasa con la función CONCAT()
?
SELECT id, CONCAT(lastname, '', '', firstname) AS name FROM `table`;
Si va a concatenar muchos campos, también podría considerar la función CONCAT_WS()
, donde el primer argumento es el separador para el resto de los argumentos, que se agrega entre las cadenas para concatenar:
SELECT id,
CONCAT_WS('','', field_1, field_2, field_3, field_4) list
FROM `table`;
Puedes usar GROUP_CONCAT() :
Ejemplo de cómo obtener todos los nombres de columna de una tabla separados por comas:
SELECT GROUP_CONCAT(c.`COLUMN_NAME`) FROM information_schema.`COLUMNS` c
WHERE c.`TABLE_SCHEMA` = "DB_NAME" AND c.`TABLE_NAME`="TABLE_NAME"
Salida:
column_name_1,column_name_2,column_name_3,column_name_4,...
use concat como
SELECT id, CONCAT(lastname, '' , '', firstname) AS name FROM `table`;