Hola X3mdesign:
Aquí tienes un problema de modelado de tablas, lo ideal sería que tengas una tabla extra donde definas tus parejas de tal manera que en tu tabla de puntuaciones manejes un solo índice... sin embargo eso no quita el hecho de tener que validar que una combinación ya exista en la tabla... por lo pronto y como tienes tus datos, se me ocurre que reorganices tu tabla, de tal manera que el usuario1 siempre sea el id menor, y el usuario2 siempre sea el mayor (no debería darse el caso de que los id's sean los mismos, pero eso debería validarlo también). el script sería más o menos así:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.11 sec)
-> (1, 58, 71, 3),(2, 4, 35, 4),(3, 71, 58, 2),
-> (4, 58, 71, 3),(5, 42, 15, 1),(6, 71, 58, 2);
Query OK, 6 rows affected (0.05 sec)
+------+----------+----------+--------+
| id | usuario1 | usuario2 | puntos |
+------+----------+----------+--------+
| 1 | 58 | 71 | 3 |
| 2 | 4 | 35 | 4 |
| 3 | 71 | 58 | 2 |
| 4 | 58 | 71 | 3 |
| 5 | 42 | 15 | 1 |
| 6 | 71 | 58 | 2 |
+------+----------+----------+--------+
mysql
> SELECT id
, usuario1
, usuario2
, puntos
-> FROM parejas
WHERE parejas.usuario1
< parejas.usuario2
-> SELECT id
, usuario2
, usuario1
, puntos
-> FROM parejas
WHERE parejas.usuario1
> parejas.usuario2
; +------+----------+----------+--------+
| id | usuario1 | usuario2 | puntos |
+------+----------+----------+--------+
| 1 | 58 | 71 | 3 |
| 2 | 4 | 35 | 4 |
| 4 | 58 | 71 | 3 |
| 3 | 58 | 71 | 2 |
| 5 | 15 | 42 | 1 |
| 6 | 58 | 71 | 2 |
+------+----------+----------+--------+
-> (SELECT id
, usuario1
, usuario2
, puntos
-> FROM parejas
WHERE parejas.usuario1
< parejas.usuario2
-> SELECT id
, usuario2
, usuario1
, puntos
-> FROM parejas
WHERE parejas.usuario1
> parejas.usuario2
+----------+----------+-------------+
| usuario1
| usuario2
| SUM(puntos
) | +----------+----------+-------------+
| 4 | 35 | 4 |
| 15 | 42 | 1 |
| 58 | 71 | 10 |
+----------+----------+-------------+
Observa que con la consulta donde utilizo el UNION
los registros 3 y 6 cambian, poniendo en primer lugar el id menor... finalmente en el último select agrupo por ambos id's para obtener el total de puntos por pareja.
Dale un vistazo para ver si es lo que necesitas.
Saludos
Leo.