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

[SOLUCIONADO] Doble declaración a un campo

Estas en el tema de Doble declaración a un campo en el foro de SQL Server en Foros del Web. Buenas tardes compañeros, Me podrían ayudar con una duda que tengo, tengo una consulta que donde una tabla tiene un campo de ESTADO el cual ...
  #1 (permalink)  
Antiguo 15/04/2014, 15:30
Avatar de slaxsna  
Fecha de Ingreso: diciembre-2010
Ubicación: Tampico
Mensajes: 38
Antigüedad: 13 años, 11 meses
Puntos: 3
Doble declaración a un campo

Buenas tardes compañeros,

Me podrían ayudar con una duda que tengo, tengo una consulta que donde una tabla tiene un campo de ESTADO el cual puede ser: VIGENTE, SUSPENDIDA, CANCELADA, SOLICITUD. En el cual me piden que me traiga los registros cuyo estado sea VIGENTE para poder realizar el cobro de una póliza, pero aquí entra otra condición, si exista una póliza la cual tiene el estado en SUSPENDIDA pero se le dejará de cobrar hasta cierta fecha (quincena) entonces que le siga aplicando el cobro en este caso que me traiga ese registro aunque este en suspendido.

Intento hacer esto

Código:
select * from polizas where [RFC CONTRATANTE] = 'XXXXXXXXX'  AND [ESTADO DE POLIZA] = 'VIGENTE' OR [ESTADO DE POLIZA] = 'SUSPENDIDA' AND [BAJA EN QNA] <= '2014-02'
Pero me omite el que me traiga solo esa póliza, o sea me trae muchas que están en estado suspendido, lo intenté hacer con CASE WHEN pero no lo consigo tampoco, me podrían ayudar con este problemita?.

Gracias.
  #2 (permalink)  
Antiguo 15/04/2014, 15:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Doble declaración a un campo

Prueba con eso:

Código SQL:
Ver original
  1. SELECT * FROM polizas WHERE [RFC CONTRATANTE] = 'XXXXXXXXX'  AND [ESTADO DE POLIZA] = 'VIGENTE' OR ([ESTADO DE POLIZA] = 'SUSPENDIDA' AND [BAJA EN QNA] <= '2014-02')
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 15/04/2014, 15:39
Avatar de slaxsna  
Fecha de Ingreso: diciembre-2010
Ubicación: Tampico
Mensajes: 38
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Doble declaración a un campo

Primero que nada muchas gracias Libras por tomarte el tiempo de responderme.

Ya había intentado con paracentesis pero no me da resultado, omite el RFC, o sea me trae casi 300 registros y todos en estado de SUSPENDIDA y cuando solamente debe traerme 1.
  #4 (permalink)  
Antiguo 15/04/2014, 15:49
Avatar de slaxsna  
Fecha de Ingreso: diciembre-2010
Ubicación: Tampico
Mensajes: 38
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Doble declaración a un campo

Cita:
Iniciado por Libras Ver Mensaje
Prueba con eso:

Código SQL:
Ver original
  1. SELECT * FROM polizas WHERE [RFC CONTRATANTE] = 'XXXXXXXXX'  AND [ESTADO DE POLIZA] = 'VIGENTE' OR ([ESTADO DE POLIZA] = 'SUSPENDIDA' AND [BAJA EN QNA] <= '2014-02')

Ya se soluciono el problema, solo cambie el orden, era cuestión de prioridades.

quedó así

Código SQL:
Ver original
  1. SELECT * FROM polizas WHERE [RFC CONTRATANTE] = 'XXXXXXXXX'  AND [BAJA EN QNA] <= '2014-02' AND ([ESTADO DE POLIZA] = 'VIGENTE' OR [ESTADO DE POLIZA] = 'SUSPENDIDA')

Etiquetas: campo, doble, registros, select, 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 11:12.