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

Hacer SQL donde obtener datos de 2 ID

Estas en el tema de Hacer SQL donde obtener datos de 2 ID en el foro de Mysql en Foros del Web. Buenas! Perdón si el titulo no es el más descriptivo que hayan visto, pues realmente no sabia como titular esta cuestión... Las consultas SQL nunca ...
  #1 (permalink)  
Antiguo 12/01/2017, 03:06
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Hacer SQL donde obtener datos de 2 ID

Buenas!

Perdón si el titulo no es el más descriptivo que hayan visto, pues realmente no sabia como titular esta cuestión...

Las consultas SQL nunca han sido mi punto fuerte... y ya llevo un par de días atascado con la siguiente consulta. Espero que podáis ayudarme :)

Les explico:

Tengo la tipica tabla de usuarios... En resumen:

ID - NOMBRE - AVATAR - .........
1 - Jose - http://imagen.com/jose.png
2 - Pepe - http://otraimagen.com/pepe.jpp
3 - Luis - http://ejemplo.com/luis.jpg

Estos usuarios, pueden aportar "coins" de la pagina en una serie de duelos.
Por ejemplo, "Jose"crea un duelo por valor de 10 coins, y Pepe o Luis podrian unirse al duelo.
Una vez que un usuario se une al duelo la pagina aleatoriamente asigna un ganador.

Este es un ejemplo real de la tabla duelos, donde el creador, oponente y ganador son IDs de usuarios:

(los que estan a NULL son duelos creados a los que aun no se ha unido ningun usuario)

Ahora el problema que tengo es para obtener con una SQL el historial de los ultimos 10 duelos.

Yo hago lo siguiente:

Código SQL:
Ver original
  1. SELECT duelos.creador, duelos.oponente, duelos.cantidad, duelos.ganador FROM duelos ORDER BY endtime DESC LIMIT 0,10

Y esa consulta funciona bien:


Ahora el problema es que no se como hacer para que en la query venga también el nombre del usuario y el avatar...
No se si con un INNER JOIN, un AS, IN... la verdad que cuando me sacas de las querys basicas estoy perdido!

Espero que puedan ayudarme!

Un saludo y gracias
__________________
Follow me on twitter @franbedia
  #2 (permalink)  
Antiguo 12/01/2017, 08:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Hacer SQL donde obtener datos de 2 ID

con un subquery podrias sacar lo que quieres :P

Ahora seria los datos del ganador, creador, oponente? digamos que quieres los datos del creador entonces seria:


Código MySQL:
Ver original
  1. SELECT duelos.creador, duelos.oponente, duelos.cantidad, duelos.ganador FROM duelos ORDER BY endtime DESC LIMIT 0,10
  2. ) as t1
  3. inner join usuarios as t2 on (t1.creador=t2.id)
Con eso te sacaria los datos del creador :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 12/01/2017, 14:36
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 3 meses
Puntos: 4
Respuesta: Hacer SQL donde obtener datos de 2 ID

Código SQL:
Ver original
  1. SELECT * FROM duelos AS DUEL LEFT JOIN usuarios AS USER ON (DUEL.creador = USER.id) WHERE DUEL.oponente = USER.id ORDER BY DUEL.endtime DESC LIMIT 0,10
__________________
Desarrollo web Front End Realtime NodeJs

Etiquetas: select, sql, tabla
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 18:36.