Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2009, 19:25
matiasdagatti
 
Fecha de Ingreso: noviembre-2007
Mensajes: 133
Antigüedad: 16 años, 5 meses
Puntos: 0
Consulta complicada

Hola como va?
bueno aca mi consulta, tengo que buscar de cada paciente los tratamientos que se hicieron en un determinado lapso de tiempo. De estos tratamientos necesito solo el codigo pero si un paciente tiene mas de un tratamiento necesito que esten separados por un guion, por ejemplo algo asi (0202-0905-0102-0303) y también necesito la suma de los importes de cada tratamiento del paciente. El problema es que los codigos de estos tratamientos los saco de la tabla det_registro y necesito concatenar ese mismo campo tantas veces como este en la consulta pero lo necesito en un solo renglon. Es decir, el resultado seria algo asi

PACIENTE TRATAMIENTOS TOTAL

Manuel Sosa 0101-0205-1010 $ 80



Para obtener estos datos de cada paciente sin que se repita en una sola fila puedo usar select distinct(paciente.nombre) pero no se como sumar los totales de los tratamientos ni como concatenar los codigo de estos tratamientos. Espero hacerme entender
Muchas gracias

Código SQL:
Ver original
  1. SELECT pacientes.nombre,  tratamientos.codtratamiento, tratamientos_obra.importe
  2. FROM tratamientos, pacientes, tratamientos_obra, det_registro, registro
  3. WHERE tratamientos.codtratamiento = tratamientos_obra.codtratamiento AND
  4. det_registro.codtratamiento = tratamientos.codtratamiento AND
  5. det_registro.codregistro = registro.codregistro AND
  6. registro.codpaciente = pacientes.codpaciente AND registro.fecha
  7. BETWEEN '20090101' AND '20091118'