Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/11/2009, 01:01
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta complicada

Agrupa por pacientes.codpaciente y usa GROUP_CONCAT():

SELECT pacientes.nombre PACIENTE, GROUP_CONCAT (tratamientos.codtratamiento SEPARATOR '-') TRATAMIENTOS, SUM(tratamientos_obra.importe) TOTAL FROM tratamientos INNER JOIN tratamientos_obra ON tratamientos.codtratamiento = tratamientos_obra.codtratamiento INNER JOIN det_registro ON det_registro.codtratamiento = tratamientos.codtratamiento INNER JOIN registro ON det_registro.codregistro = registro.codregistro INNER JOIN pacientes ON registro.codpaciente = pacientes.codpaciente WHERE registro.fecha BETWEEN '20090101' AND '20091118' GROUP BY pacientes.codpaciente

No lo he probado. Para las uniones entre tablas, usa INNER JOIN... ON. Es mejor, más rápido y deja más claro el código.