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

Comparar dos id (1,2) con una tabla

Estas en el tema de Comparar dos id (1,2) con una tabla en el foro de Mysql en Foros del Web. Hola amigos me podrian ayudar con este problema que tengo tengo una tabla mas o menos asi @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original id_tabla   ...
  #1 (permalink)  
Antiguo 02/05/2012, 18:52
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Comparar dos id (1,2) con una tabla

Hola amigos me podrian ayudar con este problema que tengo

tengo una tabla mas o menos asi

Código MySQL:
Ver original
  1. id_tabla    |   id_user |   asunto  |       hora
  2. 1               1,5         prueba          00:00
  3. 2               3           prueba          00:00
  4. 3               1,2         prueba          00:00
  5. 4               1           prueba          00:00
  6. 5               2           prueba          00:00
  7. 6               2,3         prueba          00:00

y otra tabla asi


Código MySQL:
Ver original
  1. id_user     |   nombre      |   apellidos
  2. 1               cesar           lopez
  3. 2               jenifer         salgado
  4. 3               carlos          sanchez
  5. 4               jorge           carrasco
  6. 5               marco           lopez


Y lo que necesito es hacer una vista con el siguiente resultado


Código MySQL:
Ver original
  1. id_tabla    |   id_user                         |   asunto  |       hora
  2. 1               cesar lopez,marco lopez             prueba          00:00
  3. 2               carlos sanchez                      prueba          00:00
  4. 3               cesar lopez,jenifer salgado         prueba          00:00
  5. 4               cesar lopez                         prueba          00:00
  6. 5               jenifer salgado                     prueba          00:00
  7. 6               jenifer salgado,carlos sanchez      prueba          00:00


T
  #2 (permalink)  
Antiguo 03/05/2012, 01:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Comparar dos id (1,2) con una tabla

El campo idUser de la primera tabla es un campo multivaludo este es un grave error de diseño.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 04/05/2012, 12:02
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Comparar dos id (1,2) con una tabla

yo pense que como no es primary key no afectaba la solucion que encontre fuen en php al momento de hacer la primer consulta que metrae la primer fila hago un segunda consultado

SELECT * FROM tabla_usuario WHERE id_user IN($reg['id_user']);

y el resultado es deseable

Gracias
  #4 (permalink)  
Antiguo 04/05/2012, 13:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Comparar dos id (1,2) con una tabla

De todos modos no resuelves la inconsistencia ni el defecto del modelado.
A futuro tendrás serios problemas, puedo asegurártelo, porque estás trabajando una relación N:N sin la tabla referencial.
Sería mejor que corrijas ese "parche" antes que te traiga serios dolores de cabeza.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 05/05/2012, 14:50
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Comparar dos id (1,2) con una tabla

Tienes razon, cual seria la mejor opcion para modelear bien esta estructura en la base de datos???
  #6 (permalink)  
Antiguo 07/05/2012, 03:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Comparar dos id (1,2) con una tabla

Usuarios
idUsuario
....

Pruebas
idPrueba
...

RelUsuPrueba
idRel
idPrueba
idUsuario
....

Un registro para cada relación entre las tablas
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 07/05/2012 a las 06:08
  #7 (permalink)  
Antiguo 07/05/2012, 05:25
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Comparar dos id (1,2) con una tabla

Cita:
Iniciado por quimfv Ver Mensaje
Usuarios
idUsuario
....

Pruebas
idPrueba
...

RelUsuPrueva
idRel
idPrueva
idUsuario
....

Un registro para cada relación entre las tablas
No hay más opción que hacer eso. Es la única manera en esencia de resolverlo porque en cuanto crezca tu aplicación:
a) Lentitudes enormes para responder a la consulta.
b) Bucles infinitos que saturan tu servidor.

Un saludo!
__________________
diseño web | Clan Rol
  #8 (permalink)  
Antiguo 07/05/2012, 06:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Comparar dos id (1,2) con una tabla

Código MySQL:
Ver original
  1. FROM Usuarios
  2. WHERE idUsuario IN (SELECT idUsuario
  3.             FROM RelUsuPrueba
  4.              WHERE idPrueba=X);

Te dará los usuarios de la prueba X.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: tabla
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 19:31.