Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2018, 06:55
josuecp
 
Fecha de Ingreso: julio-2015
Ubicación: Gran Canaria
Mensajes: 4
Antigüedad: 8 años, 9 meses
Puntos: 0
¿Como hacer ésta consulta en SQL?

Hola chicos!

Quiero hacer una consulta sql para ver ciertas 'incongruencias' en una bd de SQLServer.

Para simplificarlo un poco, pongamos que tengo una tabla "Movimiento_Paciente" que contiene un campo pacienteId y otro fechaInicio. En ésta tabla pueden haber varios movimientos de un paciente, es decir, pueden haber varios registros con fechaInicio diferentes para un mismo pacienteId

Luego tengo otra tabla Tratamiento, que contiene los campos nombre_tratamiento, pacienteId y fechaTratamiento. Al igual que la tabla anterior, puede haber varios tratamientos con fechas diferentes para un mismo paciente

Lo que quiero buscar son los pacientes cuya fechaTratamiento mínima sea inferior a la fechaInicio mínima de la tabla Movimiento_Paciente.

Lo que intenté fué algo así

Código SQL:
Ver original
  1. SELECT t1.pacienteId FROM Movimiento_Paciente t1
  2. INNER JOIN Tratamiento t2 ON t1.pacienteId = t2.pacienteId
  3. WHERE (SELECT MIN(fechaTratamiento) FROM Tratamiento GROUP BY pacienteId) < (SELECT MIN(fechaInicio) FROM Movimiento_Paciente GROUP BY pacienteId)

Esa consulta me da error porque obviamente esos select devuelven mas de un valor.

Estoy un poco trabado y no se como hacerla. ¿Me podrían ayudar?

Muchas gracias, un saludo!!