Hola a todos,
Me surge una query primeriza para mi, tengo usuarios que ubicar en un departamento y darle un cargo en concreto, para ello tengo 4 tablas
tabla 1 Usuarios (id_Usuario, Nombre...)
tabla 2 Departamentos (id_Departamento, departamento)
tabla 3 Cargos_dpto (id_Cargo_dpto, cargo)
tabla 4 asistencia_dpto (id_asistencia, id_Usuario, id_Departamento, id_Cargo): aqui listo cada usuario a que departamento y cargo le otorgo (pueden ser varios departamentos con varios cargos, es decir varias filas para un usuario)
Pues bien, si un usuario está en varios departamentos me devuelve tantas líneas como departamentos tenga... y necesito obtenerlos combinados en una sola línea
Query utilizada (generada de forma dinámica con php, esto es para que siempre coga todos los dptos si se agrega alguno a las tablas):
Código SQL:
Ver originalSELECT
U.id_Usuario, CONCAT(U.Nombre,' ',U.PrimerApellido,' ',U.SegundoApellido) Usuario,
IF(A.id_Departamento=1,C.id_Cargo_dpto,NULL) 'Almacén de material',
IF(A.id_Departamento=2,C.id_Cargo_dpto,NULL) 'Calidad',
IF(A.id_Departamento=3,C.id_Cargo_dpto,NULL) 'Controlling',
FROM usuarios U
LEFT JOIN asistencia_dpto A ON A.id_Usuario=U.id_Usuario
LEFT JOIN cargos_dpto C ON C.id_Cargo_dpto=A.id_Cargo_dpto
y lo que obtengo es:
Código HTML:
Ver originalPepe pepote 2 NULL NULL
Pepe pepote NULL 2 NULL
Carmen carmona NULL 1 NULL
Lo que deseo:
Código HTML:
Ver originalPepe pepote 2 2 NULL
Carmen carmona NULL 1 NULL
No sirve Group BY U.id_Usuario ya que lo único que consigo es que me salga el primer resultado, pero no los combina