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

Select con 2 condiciones

Estas en el tema de Select con 2 condiciones en el foro de SQL Server en Foros del Web. Hola necesito hacer un select el cual incluya 2 registros obligatoriamente y los demas con condición: Ejemplo TablaX Campo1 ----------- 1 2 3 4 5 ...
  #1 (permalink)  
Antiguo 18/05/2009, 11:05
Avatar de dadabit  
Fecha de Ingreso: febrero-2009
Ubicación: Coahuila, México
Mensajes: 145
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta Select con 2 condiciones

Hola necesito hacer un select el cual incluya 2 registros obligatoriamente y los demas con condición:

Ejemplo

TablaX

Campo1
-----------
1
2
3
4
5

Campo2
-------------
4
5
null
7
null

TablaY
....
Tablaz
....

Select x.Campo1, x.Campo2
From TablaX x
Inner Join TablaY y On y.campo = x.campo1
Inner Join TablaZ z On z.campo = y.campo1
Where x.campo2 In(4, 5) And
x.campo4 = 4

Ese es el select que tengo....creó que los inner joins interfieren, pero no se coómo arreglarlo...

Saludos
  #2 (permalink)  
Antiguo 18/05/2009, 11:36
Avatar de alguienmas  
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 8
Respuesta: Select con 2 condiciones

hola, el problema lo tienes en la condicion:
Cita:
Where x.campo2 In(4, 5) And
x.campo4 = 4
esto pide los registros donde campo2 sea 4 o 5 y que ademas campo4 sea 4, por lo que si los registros con campo2 = 4 o 5 no tienen el campo4 = 4 no se mostraran.

Yo lo pondria asi:
Código:
WHERE (x.campo2=4) OR (x.campo2=5) OR (x.campo4=4)
Espero te sirva saludos.
  #3 (permalink)  
Antiguo 18/05/2009, 12:10
Avatar de dadabit  
Fecha de Ingreso: febrero-2009
Ubicación: Coahuila, México
Mensajes: 145
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Select con 2 condiciones

Bueno, lo solucione con un union...primero consulto los datos que quiero que siempre ponga
y despues el select con la condición

Cita:
Select x.Campo1, x.Campo2
From TablaX x
Where x.campo2 In(4, 5) And

Union

Select x.Campo1, x.Campo2
Inner Join TablaY y On y.campo = x.campo1
Inner Join TablaZ z On z.campo = y.campo1
Where x.campo4 = 4
gracias
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 22:12.