Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/03/2015, 11:03
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta con prefencia de registros

con algo como esto se resuelve:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. servicio VARCHAR(20),
  4. especialidad VARCHAR(20),
  5. mes INT,
  6. horario datetime,
  7. modificado VARCHAR(20)
  8. )
  9.  
  10. INSERT INTO #temp VALUES ('medicina','cardio',1,getdate(),'Original')
  11. INSERT INTO #temp VALUES ('medicina','cardio',1,getdate()+1,'Modificado')
  12. INSERT INTO #temp VALUES ('medicina','no se',2,getdate()+2,'Original')
  13. INSERT INTO #temp VALUES ('medicina','no se',3,getdate()+3,'Original')
  14. INSERT INTO #temp VALUES ('medicina','otro',4,getdate()+4,'Original')
  15. INSERT INTO #temp VALUES ('medicina','otro',4,getdate()+5,'Modificado')
  16.  
  17. SELECT * FROM #temp
  18.  
  19. SELECT t2.servicio,t2.especialidad,t2.mes,CASE WHEN isnull(t1.servicio,'')<>'' THEN t1.horario ELSE t2.horario END AS horario FROM(
  20. SELECT servicio,especialidad,mes,horario FROM #temp WHERE modificado='modificado' GROUP BY servicio,especialidad,mes,horario
  21. ) AS t1 RIGHT JOIN
  22. (
  23. SELECT servicio,especialidad,mes,horario FROM #temp WHERE modificado='original' GROUP BY servicio,especialidad,mes,horario
  24. ) AS t2 ON (t1.servicio=t2.servicio AND t1.especialidad=t2.especialidad AND t1.mes=t2.mes)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me