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

ayuda consulta sql

Estas en el tema de ayuda consulta sql en el foro de SQL Server en Foros del Web. que tal,tengo un problema, tengo una tabla con datos y claro cada linea tiene un id tengo que hacer un select de esa tabla pero ...
  #1 (permalink)  
Antiguo 25/03/2010, 12:18
 
Fecha de Ingreso: octubre-2006
Mensajes: 88
Antigüedad: 17 años, 6 meses
Puntos: 1
ayuda consulta sql

que tal,tengo un problema, tengo una tabla con datos y claro cada linea tiene un id
tengo que hacer un select de esa tabla pero voy a meter un grupo de valores en el wwhere, les muestro un ejemplo


select * from tb_muestra where id = (aqui seria el grupo de valores, ejemplo: 1,3,5,13,5)

pero no se como hacer esa consulta, alguien me puede ayudar
  #2 (permalink)  
Antiguo 25/03/2010, 16:11
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: ayuda consulta sql

Asi?
Código SQL:
Ver original
  1. SELECT * FROM tb_muestra WHERE id IN (1,3,5,13)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 25/03/2010, 16:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 88
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: ayuda consulta sql

entiendo pero ese no es el problema, el problema es que no simpre son los mismos datos ni la misma cantidad pueden ser 1 a 50 datos diferentes

como hago ese where
los datos puedes ser 1, 4,6,8,9 o 7,9,3,13,44,23 o 6,5


pueden ser diferente la cantidad de variables y tambien los valores
  #4 (permalink)  
Antiguo 25/03/2010, 16:56
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: ayuda consulta sql

Entonces puedes usar SQL dinámico. Algo asi:
Código SQL:
Ver original
  1. DECLARE @SQL VARCHAR(1000)
  2. SET @SQL = 'SELECT * FROM tb_muestra WHERE id IN (' + @DATOS + ')'
  3. EXEC SP_EXECUTESQL @SQL
@DATOS se supone que es un parámetro de un procedimiento almacenado.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 26/03/2010, 10:39
 
Fecha de Ingreso: octubre-2006
Mensajes: 88
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: ayuda consulta sql

gracias, eso me sirvio mucho
  #6 (permalink)  
Antiguo 26/03/2010, 12:05
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: ayuda consulta sql

En lo personal prefiero no usar una entrada con una lista de elementos.... se complica cuando son demasiados y sobrepasa la capacidad declarada en la variable, o cuando lo que intentas enviar son cadenas de texto por ejemplo.

El ejemplo de Flaviovich es muy bueno, sin embargo yo usaría una tabla temporal como entrada, así ya no tengo el límite en el tamaño de mi variable de entrada además que resulta un poco mas limpio.


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....

Etiquetas: sql
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 03:57.