MySQL - Dudas clausula IN

   
Vista:

Dudas clausula IN

Publicado por saul saldaña (1 intervención) el 26/06/2013 19:37:21
Hola a todos, tengo el siguiente caso : Tengo una tabla con la siguiente información:
-------------------------------
ID Descripción
1 Sucursal 1
2 Sucursal 2
3 Sucursal 3
-------------------------------
Hago la siguiente consulta:

SELECT * FROM Tabla WHERE ID IN (p_ids)

donde "p_ids" es un parámetro del tipo varchar() y los valores que envío por ejemplo pueden ser(1,3) , y el resultado siempre me da el primer valor, es decir :

1 Sucursal 1

Lo que requiero es que me mande los datos que le mando como parámetro . ya sea (1,2,3) 0 (3) o (1,2).
Espero poder contar con la ayuda de ustedes.

Saludos y de antemano gracias !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Dudas clausula IN

Publicado por Saul (5 intervenciones) el 26/06/2013 22:16:59
Hola ..

Yo haría lo siguiente.

Creo una tabla con los parámetros

Parametro_Id
Id varchar 1

Y antes de llamar a tu consulta hacer esto

INSER INTO parametro_ID id values ("1")
INSER INTO parametro_ID id values ("2")
INSER INTO parametro_ID id values ("3")

Dependiendo que quieras hacer


SELECT a.* FROM Tabla a inner join parametro_id b ON b.id = a.id

Suerte..

sha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Willian

Dudas clausula IN

Publicado por Willian (51 intervenciones) el 26/06/2013 22:20:25
Hola Compañero no se si entendi bien la pregunta pero la clausula IN se usa de esta forma
select * from tabla where ID in (1,2,3);
tenga en cuenta si envias un string que no envie de esta forma ('1','2') si es tipo numerico debe ir sin las comillas, por que hay veces que el mysql no le gusta compara string contra numerico,,
no se si te ayude aguardo comentario...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dudas clausula IN

Publicado por saul (1 intervención) el 27/06/2013 17:03:22
La uso como mencionas, el problema es que solo me trae o devuelve el valor del ID 1 , los demás los omite, saludos, aun sigo intentado buscar una solución, gracias por contestar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Willian

Dudas clausula IN

Publicado por Willian (51 intervenciones) el 27/06/2013 17:09:33
no me pasa otra idea amigo, ve si no tenes espacio entre los IDs, asegurate de ser numerico el campo, en ultimo caso hace un respaldo de los datos de esa tabla, eliminas la tabla y volves a crear..creale el campo id con el tipo de dato int(10) si es que no va a tener muchos registros si vas a tener te aconsejo a usar bigint(20).
aguardo comentarios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar