Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/10/2012, 05:14
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con select

Si son dos usuarios si....

Código MySQL:
Ver original
  1. SELECT  Sbc.ID_C
  2. ((SELECT t1.ID_USUARIO,t1.ID_CONVERSACION Id_C
  3.   FROM tuTabla t1
  4.   WHERE t1.ID_USUARIO=X ) Sbc1
  5.   INNER JOIN  
  6.   (SELECT t2.ID_USUARIO,t2.ID_CONVERSACION
  7.   FROM tuTabla t2
  8.   WHERE t2.ID_USUARIO=Y ) Sbc2
  9.      ON Sbc1.ID_CONVERSACION=Sbc2.ID_CONVERSACION) Sbc

esto te da todos los ID_CONVERSACION comunes de los usuarios X e Y.

Para un numero indeterminado de usuarios distintos el tema se complica.... el ID_CONVERSACION debe ser comun a todos o por parejas, trios etc...?

Si es comun a todos y el numero de usuarios es razonablemente corto se puede extender lo que he hecho para dos a n usuarios, la subconsulta debe tener n subsubconsultas y dara los ID_CONVERSACION donde hayan intervenido TODOS los usuarios que pongas....

Otra forma

Código MySQL:
Ver original
  1. SELECT ID_CONVERSACION
  2. FROM tuTabla
  3. WHERE ID_USUARIO=X
  4. AND ID_CONVERSACION IN (SELECT ID_CONVERSACION
  5.                  FROM tuTabla
  6.                   WHERE ID_USUARIO=Y)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 15/10/2012 a las 05:20