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

[SOLUCIONADO] Union de dos tablas en una consulta

Estas en el tema de Union de dos tablas en una consulta en el foro de Bases de Datos General en Foros del Web. Muy buenas, voy a explicar problema con una consulta que estoy intentando sacar. Tengo las siguientes tablas: Nombre de la tabla: PARTIDAS campos de la ...
  #1 (permalink)  
Antiguo 24/01/2015, 14:03
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Union de dos tablas en una consulta

Muy buenas, voy a explicar problema con una consulta que estoy intentando sacar.

Tengo las siguientes tablas:
Nombre de la tabla: PARTIDAS
campos de la tabla: id, nombre, id_administrador, hora....

Nombre de la tabla:valoraciones
campos de la tabla: id, id_partida, id_usuario_votado, valoración...

Cada partida lleva el id del usuario administrador, el cual ha podido recibir valoraciones o no (puede aparecer en la tabla valoraciones o no si no ha sido votado por nadie aún).

Lo que quiero es una consulta que me saque todas los campos de la partida con la media de la valoracion del administrador. He conseguido hacerlo pero solo cuando el id del administrador está en la tabla valoraciones, si no no muestra esa fila.

select partidas.*, avg(valoracion) from partidas, valoraciones where partidas.administrador = valoraciones.id_usuario_votado group by partidas.id;


muchas gracias!!!!
  #2 (permalink)  
Antiguo 24/01/2015, 14:07
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 2 meses
Puntos: 4
Respuesta: Union de dos tablas en una consulta

Código SQL:
Ver original
  1. SELECT * FROM PARTIDAS AS p, valoraciones AS v WHERE v.id_partida = p.id
__________________
Desarrollo web Front End Realtime NodeJs
  #3 (permalink)  
Antiguo 24/01/2015, 14:18
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Union de dos tablas en una consulta

Cita:
Iniciado por jsstoni Ver Mensaje
Código SQL:
Ver original
  1. SELECT * FROM PARTIDAS AS p, valoraciones AS v WHERE v.id_partida = p.id
Esa conulta me sacaría solo los resultados de las partidas que tuvieran administradores votados. Muchas gracias por responder tan rápido.

Finalmente dí la solución:

Código SQL:
Ver original
  1. SELECT DISTINCT
  2.    avg(valoracion), partidas.*
  3. FROM
  4.     partidas
  5. LEFT JOIN
  6.      valoraciones
  7.     ON
  8.     valoraciones.id_usuario_votado = partidas.administrador
  9. GROUP BY
  10.    partidas.id

Última edición por gnzsoloyo; 24/01/2015 a las 16:12

Etiquetas: campos, tabla, tablas, union
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 15:52.