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

Como hacer un query con condiciones sin hacerlo dinamico

Estas en el tema de Como hacer un query con condiciones sin hacerlo dinamico en el foro de SQL Server en Foros del Web. Hola... que tal... aqui otra vez, yo, molestando por aqui, siempre pregunto no, je je, ojala nunca se acabe el foro La cosa es que ...
  #1 (permalink)  
Antiguo 10/10/2006, 19:36
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Como hacer un query con condiciones sin hacerlo dinamico

Hola... que tal... aqui otra vez, yo, molestando por aqui, siempre pregunto no, je je, ojala nunca se acabe el foro

La cosa es que tengo que hacer un select que viene con parametros según lo que el usuario en la aplicación elija, resumiendo la estructura es algo así:

Tabla Aspirante
IdAspirante int PK
Nombre varchar
Direccion varchar
... mil campos mas

Tabla AspiranteIdioma

IdAspirante int PK
IdIdioma int PK

Entonces mi query es:

SELECT * FROM Aspirante
WHERE IdAspirante in
(SELECT IdAspirante FROM AspiranteIdioma WHERE IdIdioma in (SELECT idioma FROM OPENXML (@IdXML, '/Idioma/Items') ))

El ultimo select, el del OPENXML me trae los IdIdioma de los checkbox que el usuario ha seleccionado, pero cuando no chequea ningún checkbox el xml viene vacío y obviamente el select no arroja ningún resultado y se supone que debe traer todos los aspirantes

PD: No me vayan a criticar que no hago join entre las tablas
  #2 (permalink)  
Antiguo 12/10/2006, 06:15
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 20 años, 3 meses
Puntos: 0
(SELECT IdAspirante FROM AspiranteIdioma WHERE IdIdioma
(@IdIdioma = 0 OR @IdIdioma IN(id's seleccionados))

Dime si te sirve
__________________
Un saludo,
Trucos
Videos
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 14:09.