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

Problema en consulta con CASE

Estas en el tema de Problema en consulta con CASE en el foro de SQL Server en Foros del Web. Buenos dias hola compañeros.. Tengo esta consulta.. SELECT CASE vCambios.GrupoDeVendedores WHEN NULL THEN vVendedor.GrupoDeVendedoresActual ELSE vVendedor.GrupoDeVendedoresActual END FROM SERVERTIPS.[TipsII].[dbo].vndCambiosEnVendedores vCambios , SERVERTIPS.[TipsII].[dbo].vndVendedores vVendedor .... Lo ...
  #1 (permalink)  
Antiguo 14/07/2011, 07:17
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 11 años, 2 meses
Puntos: 76
Problema en consulta con CASE

Buenos dias

hola compañeros..

Tengo esta consulta..

SELECT
CASE
vCambios.GrupoDeVendedores
WHEN NULL THEN vVendedor.GrupoDeVendedoresActual
ELSE
vVendedor.GrupoDeVendedoresActual
END
FROM SERVERTIPS.[TipsII].[dbo].vndCambiosEnVendedores vCambios ,
SERVERTIPS.[TipsII].[dbo].vndVendedores vVendedor

.... Lo que intento hacer que es que cuando el campo GruposDeVendedores de la tabla vndCambiosEnVendedores este NULL , me traiga el campo GrupoDeVendedoresActual de la tabla vndVendedores... pero la consulta me trae muchisimos registros que no son correctos...

Gracias
  #2 (permalink)  
Antiguo 14/07/2011, 07:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 16 años
Puntos: 774
Respuesta: Problema en consulta con CASE

SELECT
CASE
when
vCambios.GrupoDeVendedores is NULL THEN vVendedor.GrupoDeVendedoresActual
ELSE
vVendedor.GrupoDeVendedoresActual
END
FROM SERVERTIPS.[TipsII].[dbo].vndCambiosEnVendedores vCambios ,
SERVERTIPS.[TipsII].[dbo].vndVendedores vVendedo


Prueba asi :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 14/07/2011, 07:27
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 11 años, 2 meses
Puntos: 76
Respuesta: Problema en consulta con CASE

Hola compañero


mmm me trae demasiados registros , millones, no se por que , creeria que la consulta esta bien aparentemente..


Gracias...
  #4 (permalink)  
Antiguo 14/07/2011, 07:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 16 años
Puntos: 774
Respuesta: Problema en consulta con CASE

Pues no estas relacionando tus 2 tablas, cuales son los campos en comun de tus tablas, te faltaria


where vcambios.campoencomun=vvdendo.campoencomun

y si no pones eso te regresa todas las combinaciones de los campos en comun de tu tabla :S por eso te salen tantos registros....

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/07/2011, 07:37
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 11 años, 2 meses
Puntos: 76
Respuesta: Problema en consulta con CASE

Gracias compañero...

ya me dieron mucho menos registros, voy hacer la prueba para ver si funciona..

Gracias..
  #6 (permalink)  
Antiguo 14/07/2011, 07:42
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 11 años, 2 meses
Puntos: 76
Respuesta: Problema en consulta con CASE

Hola,

No me funciono , porque cuando le coloco la condicion

WHERE
vCambios.GrupoDeVendedores = vVendedor.GrupoDeVendedoresActual

Entonces no serviria porque los NULL de la tabla vCambios no los traeria , lo que necesito es que si es NULL, me traiga el valor de la otra tabla.

Gracias

:)
  #7 (permalink)  
Antiguo 14/07/2011, 07:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 16 años
Puntos: 774
Respuesta: Problema en consulta con CASE

Puedes probar con:

SELECT
CASE
when
vCambios.GrupoDeVendedores is NULL THEN vVendedor.GrupoDeVendedoresActual
ELSE
vVendedor.GrupoDeVendedoresActual
END
FROM SERVERTIPS.[TipsII].[dbo].vndCambiosEnVendedores vCambios
left join SERVERTIPS.[TipsII].[dbo].vndVendedores vVendedo on (vCambios.GrupoDeVendedores = vVendedor.GrupoDeVendedoresActual)
and vcambios.campo is null


Algo asi seria nada mas acomoda tus campos...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 14/07/2011, 08:15
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 11 años, 2 meses
Puntos: 76
Respuesta: Problema en consulta con CASE

Muchas Gracias

compañeros.

Me ha sido de gran ayuda..

:)

Etiquetas: case, registros, select, server, tabla, campos
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 02:25.