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

Problemas en Where

Estas en el tema de Problemas en Where en el foro de SQL Server en Foros del Web. Estimados. Tengo problemas con una consulta SQL en la clausula de las condiciones en donde en un campo debo seleccionar tanto los vacios como los ...
  #1 (permalink)  
Antiguo 21/12/2006, 07:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 24
Antigüedad: 17 años, 4 meses
Puntos: 0
Problemas en Where

Estimados.

Tengo problemas con una consulta SQL en la clausula de las condiciones en donde en un campo debo seleccionar tanto los vacios como los que contienen información. El campo es cuestión guarda información de Centro de Costo. La consulta que realizo en donde filtro de la siguiente manera SELECT * FROM detallemov WHERE ccosto BETWEEN '0' AND '999' y solo me trae los que contienen información.
Como puedo hacer para traer tambien los vacios.
Considerar que simplifique la consulta descrita, ya que, en realidad es mas compleja y tiene otros campos condicionantes.
  #2 (permalink)  
Antiguo 21/12/2006, 07:49
 
Fecha de Ingreso: octubre-2006
Mensajes: 16
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problemas en Where

WHERE ccosto is not Null BETWEEN '0' AND '999'
  #3 (permalink)  
Antiguo 21/12/2006, 11:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 24
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problemas en Where

Compadre, no me resulta.
Estoy reanalizando para poder obtener los resultados que espero.
  #4 (permalink)  
Antiguo 21/12/2006, 12:39
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: Problemas en Where

Entonces puede ser:

WHERE ( ccosto BETWEEN '0' AND '999'
OR ccosto is null
OR ltrim(rtrim(ccosto)) ='' )

saludos y suerte!
  #5 (permalink)  
Antiguo 22/12/2006, 21:56
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Problemas en Where

y esto?

Código:
SELECT
        *
FROM
        detallemov
WHERE
        ISNULL(LTRIM(CCOSTO), '') = ''
        OR
        CCOSTO BETWEEN '0' AND '999'
  #6 (permalink)  
Antiguo 23/12/2006, 03:02
 
Fecha de Ingreso: septiembre-2006
Ubicación: Argentina
Mensajes: 190
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Problemas en Where

Es porque tenés que poner como valor predeterminado al campo "0" porque si le pones null te va a tirar error. Actualizá el campo de la base de datos como te dije y probá con tu sintaxis original. Una manera de mezclar los null con los que tienen valores es con LEFT JOIN
  #7 (permalink)  
Antiguo 23/12/2006, 08:29
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Problemas en Where

eeeh? pero solo es una tabla!
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:57.