Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/08/2010, 02:31
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Concat + group by + mysql

Algunos detalles:
No uses NULL en una operación de aritmética o de encadenamiento. Es el elemento nulo y toda operación con él produce NULL.
CONCAT() opera sobre el mismo registro. Puedes también usar CONCAT_WS():
Cita:
CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() significa CONCAT With Separator (CONCAT con separador) y es una forma especial de CONCAT(). El primer argumento es el separador para el resto de argumentos. El separador se añade entre las cadenas a concatenar. El separador puede ser una cadena como el resto de argumentos. Si el separador es NULL, el resultado es NULL. La función evita valores NULL tras el argumento separador.

Código MySQL:
Ver original
  1. mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
  2.         -> 'First name,Second name,Last Name'
  3. mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
  4.         -> 'First name,Last Name'
En MySQL 5.0, CONCAT_WS() no evita cadenas vacías. (Sin embargo, evita NULLs.)
Si los campos a combinar pertenecen al mismo registro, debes usar CONCAT, si pertenecen a diferentes registros, lo que corresponde es GROUP_CONCAT, pero este te los combinará separados por comas a menos que le indiques otra cosa:
12.10.1. Funciones (de agregación) de GROUP BY
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)