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

Argupar datos

Estas en el tema de Argupar datos en el foro de SQL Server en Foros del Web. Amigos mi problema es el siguiente: Tengo este select: SELECT DISTINCT TBL_Servicios.numero, TBL_Servicios.fecha, TBL_Servicios.cedula, TBL_Servicios.nombre, TBL_Servicios.apellido, TBL_Servicios.codigo_plan, TBL_Servicios.planes, TBL_Servicios.codigo_estudio, TBL_Servicios.estudio, TBL_Medicos.nombre AS Expr1 FROM TBL_Servicios ...
  #1 (permalink)  
Antiguo 10/12/2010, 07:33
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
Información Argupar datos

Amigos mi problema es el siguiente:
Tengo este select:

SELECT DISTINCT TBL_Servicios.numero, TBL_Servicios.fecha, TBL_Servicios.cedula, TBL_Servicios.nombre, TBL_Servicios.apellido, TBL_Servicios.codigo_plan, TBL_Servicios.planes, TBL_Servicios.codigo_estudio, TBL_Servicios.estudio, TBL_Medicos.nombre AS Expr1 FROM TBL_Servicios INNER JOIN TBL_Medicos ON TBL_Servicios.medico = TBL_Medicos.codigo
ORDER BY TBL_Servicios.estudio

el me arroja los siguientes estudios:

ECOSONOGRAMA PELVICO
ECOSONOGRAMA TRANSVAGINAL
ECOSONOGRAMA MAMARIO
DENSITOMETRIA OSEA
MAMOGRAFIA BILATERAL

Claro entre otros campos, yo quisiera agrupar en uno solo nada mas los ECO. Osea que me aparezca asi:

ECOSONOGRAMA
DENSITOMETRIA OSEA
MAMOGRAFIA BILATERAL

auxiliooooo.... trabajo con sql server 2005
  #2 (permalink)  
Antiguo 10/12/2010, 08:10
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Argupar datos

Código SQL:
Ver original
  1. SELECT CASE WHEN estudio LIKE 'ECOSONOGRAMA%' THEN 'ECOSONOGRAMA' ELSE estudio END
Te recomiendo usar alias para las tablas, asi no tienes que repetir tantas veces esto TBL_Servicios.estudio.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 10/12/2010, 08:34
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
Información Respuesta: Argupar datos

Amigo ok ya use los alias, y pude filtrar todos los ecos pero como los uno tods en 1solo
  #4 (permalink)  
Antiguo 10/12/2010, 08:47
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Argupar datos

Ahora tienes que agruparlos con GROUP BY.
Si no sabes como hacerlo, muestranos los datos de las demas columnas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 10/12/2010, 09:01
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
Respuesta: Argupar datos

ok amigo este es el resultado del select:

002530797I8T ECOSONOGRAMA MAMARIO
002530797I8T ECOSONOGRAMA PELVICO
002530797I8T ECOSONOGRAMA TRANSVAGINAL


La idea es unir los 3 y tener uno solo llamado ECOSONOGRAMA
  #6 (permalink)  
Antiguo 10/12/2010, 09:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Argupar datos

Estimado, con el CASE WHEN que te puse no deberia salir MAMARIO, PELVICO, TRANSVAGINAL.
Muestranos tu codigo.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 10/12/2010, 09:36
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
Respuesta: Argupar datos

Este es mi scripts:

SELECT DISTINCT
TBL_Servicios.numero, TBL_Servicios.fecha, TBL_Servicios.cedula, TBL_Servicios.nombre, TBL_Servicios.apellido, TBL_Servicios.codigo_plan,
TBL_Servicios.planes, TBL_Medicos.nombre AS Expr1, TBL_ServiciosTarifas.monto1, TBL_Servicios.codigo_estudio, TBL_Servicios.estudio
FROM TBL_Servicios INNER JOIN
TBL_Medicos ON TBL_Servicios.medico = TBL_Medicos.codigo INNER JOIN
TBL_ServiciosTarifas ON TBL_Medicos.codigo = TBL_ServiciosTarifas.medtec AND
TBL_Servicios.codigo_plan = TBL_ServiciosTarifas.codigo_plan AND TBL_Servicios.planes = TBL_ServiciosTarifas.nombre
WHERE (TBL_Servicios.estudio LIKE N'ECO%') AND (TBL_Servicios.numero = '002530797I8T')

como debo colocar la sentencia porque me da error..

SELECT CASE WHEN estudio LIKE 'ECOSONOGRAMA%' THEN 'ECOSONOGRAMA' ELSE estudio END
  #8 (permalink)  
Antiguo 10/12/2010, 09:57
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Argupar datos

Prueba asi:
Código SQL:
Ver original
  1. SELECT DISTINCT S.numero, S.fecha, S.cedula, S.nombre, S.apellido, S.codigo_plan, S.planes, M.nombre AS Expr1,
  2. ST.monto1, S.codigo_estudio, CASE WHEN S.estudio LIKE N'ECO%' THEN 'ECOSONOGRAMA' ELSE S.estudio END
  3. FROM TBL_Servicios S
  4. INNER JOIN TBL_Medicos M ON S.medico = M.codigo
  5. INNER JOIN TBL_ServiciosTarifas ST ON M.codigo = ST.medtec AND S.codigo_plan = ST.codigo_plan AND S.planes = ST.nombre
  6. WHERE S.numero = '002530797I8T'
Solo faltaria agrupar.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 13/12/2010, 11:43
Avatar de Oviedo  
Fecha de Ingreso: abril-2007
Ubicación: Venezuela
Mensajes: 128
Antigüedad: 17 años
Puntos: 0
Información Respuesta: Argupar datos

HERMANO MUCHAS GRACIAS.... pude resolver gracias a tu ayuda... exitos

Etiquetas: Ninguno
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 09:58.