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

usuarios con amigos

Estas en el tema de usuarios con amigos en el foro de Mysql en Foros del Web. Buenas, tengo que hacer una consulta a unas tablas de una base de datos y la verdad no encuentro la manera de hacerlo. la tabla ...
  #1 (permalink)  
Antiguo 04/06/2014, 07:38
Avatar de Totti7  
Fecha de Ingreso: mayo-2012
Ubicación: barcelona
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 2
usuarios con amigos

Buenas, tengo que hacer una consulta a unas tablas de una base de datos y la verdad no encuentro la manera de hacerlo.

la tabla seria esta

user_id_1 user_id_2 fecha_amistad
1 , 3, 2000-01-01 00:00:00
1 , 5, 2001-04-14 00:00:00
1 , 9, 1999-10-10 00:00:00
3 , 5, 1997-11-13 00:00:00
3 , 9, 2004-05-03 00:00:00
5 , 9, 2007-08-20 00:00:00
6 , 7, 1990-07-05 00:00:00
6 , 8, 2001-08-09 00:00:00
7 , 8, 2000-07-01 00:00:00


el enunciado es el siguiente:

Crear una vista con los usuarios que tienen algún amigo (tener en cuenta que si X es amigo de Y, entonces Y es amigo de X). Es decir se pide una tabla de una columna que lista sin duplicados los usuarios con amigos.

yo tengo este código, pero esta incompleto:
Código MySQL:
Ver original
  1. SELECT DISTINCT a.user_id_1 as "Usuarios con amigos"
  2. FROM amistades a
  3. WHERE a.user_id_1!=a.user_id_2;

También me piden los usuarios que no tienen amigos (que serian el 2 y el 4)

Muhcas gracias!!
  #2 (permalink)  
Antiguo 04/06/2014, 13:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: usuarios con amigos

Totti7, esta consulta te proporcionará todos user_id que tienen amigos.
Código MySQL:
Ver original
  1. SELECT user_id_1 userconamigo FROM amistades
  2. SELECT user_id_2 FROM amistades

Para averiguar los que no tienen amigos, deberías decirnos cómo es la otra tabla, esa donde están todos los user_id, y te bastaría hacerlo con una subconsulta sobre esa primera consulta con LEFT JOIN, pero necesitamos los campos para ayudarte mejor.

Etiquetas: sql
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 12:19.