Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

crear select a partir de dos subselect

Estas en el tema de crear select a partir de dos subselect en el foro de SQL Server en Foros del Web. Hola a todos, Estoy un poco mareado con crear una consulta, a partir de dos subquery crear una query que muestre o compare totales del ...
  #1 (permalink)  
Antiguo 17/02/2010, 14:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
crear select a partir de dos subselect

Hola a todos,

Estoy un poco mareado con crear una consulta, a partir de dos subquery crear una query que muestre o compare totales del mes actual y el anterior.

No he podido dar con la solución, la idea es mostrar las cantidades de visitas actuales y la del mes anterior en una sola consulta agrupadas por categoría (especialidades médicas)

En resumen, sería la siguiente consulta pero que me muestre comparativa del mes actual vs mes anterior:

Código SQL:
Ver original
  1. SELECT `medicos_especialidades_stats`.`especialidad` AS especialidad2, COUNT(*) AS `total2`, `medicos_especialidades_stats`.`recieved` AS fecha_visita2
  2. FROM `medicos_especialidades_stats`
  3. GROUP BY `especialidad2`
  4. HAVING (MONTH(fecha_visita2) = '02') AND (YEAR(fecha_visita2) = '2010')
  5. ORDER BY `total2` DESC, `especialidad2` ASC

Había pensado utilizar subselet, pero no doy con el resultado deseado, la idea es tener algo parecido como resultado en la consulta:

especialidad1---------------enero 2009-------enero 2010
CIRUGIA BUCAL------------------10----------------11
PSIQUIATRIA ---------------------6------------------8
DIALISIS---------------------------4------------------5
UROLOGIA ADULTO--------------4------------------4
CARDIOLOGIA---------------------2-----------------3
CARDIOLOGIA PEDIATRICA-----2-----------------3
PSICOLOGIA INTEGRATIVA-----2------------------3

Muchas gracias por cualquier ayuda!

Última edición por zsamer; 17/02/2010 a las 14:58
  #2 (permalink)  
Antiguo 17/02/2010, 17:12
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 8 meses
Puntos: 180
Respuesta: crear select a partir de dos subselect

Este tema ya esa "trillado" (demasiado comentado) en el foro, si buscas ayuda encontraras que utilizando CASE podras hacer lo que buscas, algo como:

SUM(CASE WHEN LEFT(CONVERT(CHAR(10), FECHA, 103), 4) = '201001' THEN 1 ELSE 0 END) AS Enero2010
  #3 (permalink)  
Antiguo 18/02/2010, 09:56
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Respuesta: crear select a partir de dos subselect

Cita:
Iniciado por iislas Ver Mensaje
Este tema ya esa "trillado" (demasiado comentado) en el foro, si buscas ayuda encontraras que utilizando CASE podras hacer lo que buscas, algo como:

SUM(CASE WHEN LEFT(CONVERT(CHAR(10), FECHA, 103), 4) = '201001' THEN 1 ELSE 0 END) AS Enero2010
gracias master, voy a revisar lo que me cuentas.

saludos!
  #4 (permalink)  
Antiguo 18/02/2010, 14:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Respuesta: crear select a partir de dos subselect

Cita:
Iniciado por iislas Ver Mensaje
Este tema ya esa "trillado" (demasiado comentado) en el foro, si buscas ayuda encontraras que utilizando CASE podras hacer lo que buscas, algo como:

SUM(CASE WHEN LEFT(CONVERT(CHAR(10), FECHA, 103), 4) = '201001' THEN 1 ELSE 0 END) AS Enero2010
Gracias estimado encontré la solución, justo lo que buscaba, no me acordaba como hacerlo:
Using subqueries in the FROM clause

saludos!

Etiquetas: dos, partir, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:27.