Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/06/2012, 15:13
fernandog07
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Pregunta Respuesta: Resultados duplicados al utilizar OR

Cita:
Iniciado por gnzsoloyo Ver Mensaje

Finalmente, respecto a lo que me dices primero deberíamos saber qué cuernos representa eso que pusiste: ¿Es un resumen? ¿Un listado? ¿un reporte? ¿va ordenado según un criterio? ¿tiene algún tipo de totalizadores? ¿las columnas se toman de cada columna, o de cada registro? ¿es una tabla inversa?
Si me dices exactamente qué es lo que muestra como información, te puedo decir cómo hacer eso en una sola consulta o algo así. Pero dime lo que tiene que mostrar.
Es un reporte o listado, tengo una tabla con las siguientes columnas:

ID, APP_DATE, FROM_USER_ID, TO_USER_ID, CREDITS

donde:
ID = Primary Key
APP_DATE = Fecha de creación del registro
FROM_USER_ID = Columna ligada a tabla USERS que identifica el usuario que va a enviar el credito
TO_USER_ID = Columna ligada a tabla USERS que identifica el usuario que va a recibir el credito
CREDITS = Cantidad de creditos de la transacción (puede ser negativo)

Supongamos que tengo los siguientes registros:

68, 12-07-08 10:32:00, 1, 2, 3
69, 12-07-08 10:32:02, 1, 3, 1
70, 12-07-08 10:33:00, 2, 3, 2
71, 12-07-08 10:34:00, 0, 2, -2

lo que quiero hacer en MySQL es, Seleccionar todos los registros en los que se encuentre USER_ID = 2, cuando utilizo:

Código MySQL:
Ver original
  1. FROM credits
  2.     to_user_id = 2
  3.     OR
  4.     from_user_id = 2

Obtengo lo siguiente:
68, 12-07-08 10:32:00, 1, 2, 3
70, 12-07-08 10:33:00, 2, 3, 2
71, 12-07-08 10:34:00, 0, 2, -2
71, 12-07-08 10:34:00, 0, 2, -2
70, 12-07-08 10:33:00, 2, 3, 2
68, 12-07-08 10:32:00, 1, 2, 3

y quiero obtener solamente esto:
71, 12-07-08 10:34:00, 0, 2, -2
70, 12-07-08 10:33:00, 2, 3, 2
68, 12-07-08 10:32:00, 1, 2, 3

Se estan duplicando los resultados por el OR de la consulta, no soy experto en MySQL es por eso que estoy pidiendo ayuda para tratar de obtener ese resultado dentro de la misma consulta.

Espero haberme explicado y disculpen si les hago perder su tiempo posteando php en un foro de MySQL, es solo que estoy acostumbrado a utilizar los dos.