Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/05/2011, 17:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: Select...valores a verificar

MySQL tiene dos formas de solucionarlo, dependiendo de cómo entra el parámetro, es decir si es una sola cadena que contiene valores separados por comas, o si son varios valores separados por comas.
Si vas a usar uno u otro, en definitiva es una decisión de tomarás cuando lo programes, ya que si estás trabajando con una página web, las consultas no las construye a mano el usuario, sino que lo haces por soft. Por eso de decía que la cosa podía ser por programación... Creí que se entendía.
Los links que te pasé eran porque esto mismo se puede hacer por medio de sentencias preparadas, para no tener que escribirlas continuamente, y para verlo estaban esos links.
¿Los miraste?

Volviendo al tema central, si el parámetro lo recibes en una sola cadena, con valores separados por comas se usa FIND_IN_SET():
Código MySQL:
Ver original
  1. FROM Catalogo
  2. WHERE FIND_IN_SET(idCatalogo, 'p001,p002,p003,p004')>0;
Pero si la consulta la vas a construir dinámicamente por programación, es mucho más sencillo usar IN():
Código MySQL:
Ver original
  1. FROM Catalogo
  2. WHERE idCatalogo IN('p001', 'p002', 'p003', 'p004');
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)