| ||||
| IN(SELECT ....) Mysql Hola espero que estén bien, saludos para todos. Tengo una duda, la siguiente consulta
Código MySQL:
Ver originalCopiar Me devuelve 1,345,32,65,3 como cadena de texto, ya que el campo integrantes es del tipo TEXT. Ahora si yo hago lo siguiente:
Código MySQL:
Ver originalCopiar No sería lo mismo que hacer esto:
Código MySQL:
Ver originalCopiar NO me funciona, supongo que hay que hacer algun tipo de conversion de datos, ya que son text, habrá que pasarlos a otro formato, estoy adivinando.... Si alguien sabe se lo agradeceré Saludos para todos .
__________________ Haz el bien sin mirar a quien, ni su carma |
| ||||
| Respuesta: IN(SELECT ....) Mysql Hola, tengo una duda; ninguna de las dos consultas te funciona? o la de abajo si te funciona?
__________________ Sistema Llovizna |
| ||||
| Respuesta: IN(SELECT ....) Mysql Estas dos funcionan correctamente:
Código MySQL:
Ver originalCopiar Pero al convinarlas No fubciona:
Código MySQL:
Ver originalCopiar Yo creo que la mano viene porque los datos que obtengo 51,62,37,466 son una cadena de texto así tal cual como se ve con sus comas entre cada una, y al parecer no es reconocida por el IN() solo me tira el primer resultado osea en este caso sería el 51, los demás no aparecen
__________________ Haz el bien sin mirar a quien, ni su carma |
| ||||
| Respuesta: IN(SELECT ....) Mysql bueno, intenta hacer algo así: $consulta=SELECT integrantes FROM equipos WHERE id = 39; $ids = join(',',$consulta); $sql = "SELECT * FROM usuarios WHERE id_usuario IN($ids)"; no se si funcioné, pero podría servir.
__________________ Sistema Llovizna |
| ||||
| Respuesta: IN(SELECT ....) Mysql a ok! comprendo, y bueno yo tambien me pierdo y empiezo a adivinar, has intentado con meterlo entre llaves? o con alguna clase de comillas? no creo que nada de ello funcione.. pero bueno..
__________________ Sistema Llovizna |
| ||||
| Respuesta: IN(SELECT ....) Mysql Vas a tener que recurrir a PHP debido a que tu modelo de datos no está bien normalizado, la funciín IN no funciona con un string que cumpla el formato, sino solo con listados. en tu caso se estaría buscando
Código MySQL:
Ver originalCopiar Saludos
__________________ Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :) |
| ||||
| Respuesta: IN(SELECT ....) Mysql Mo te está diciendo Ribon, lo que tienes que hacer es normalizar, porque tienes una relación a la que le falta una tabla. Es decir, si tienes una entidad Usuarios, otra Grupos y necesitas a los integrantes del grupo, no debes ponerlos todos listados en un campo de la tabla como estás haciendo. Lo que debes hacer es crear una tabla Integrante que contenga un registro por cada par de (id_usuario, id_grupo). Eso es lo que debe hacerse. El tema es que has creado un campo multivaluado, y esos campos no deben existir. Muestran que el diseño es defectuoso, inconsistente, falto de integridad e ineficiente. Modifica la estructura de esa relación y volveremos a ver el problema. Si no quieres hacerlo, tendrás que lidiar con los dolores de cabeza que ocasiona en una consulta un mal diseño de BBDD.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
| Respuesta: IN(SELECT ....) Mysql Ok, si , ya se que lo que necesito es una tabla referencial, pero quise hacerlo así porque me pareció que era correcto, pero ahora me doy cuenta que no es así. Ya lo cambie. Saludos y Gracias a todos
__________________ Haz el bien sin mirar a quien, ni su carma |