¿Consulta MySQL imposible?

RaymaN

Buenas, estoy haciendo una pequeña web con estadísticas de una liga privada del Comunio y estoy atascado en una consulta que no se si es imposible o es que no doy con la tecla.

Tengo dos tablas, jugadores (nosotros, los que jugamos la liga) y fichajes (una recopilación con todos los fichajes hasta la fecha). En fichajes hay dos campos, "id_de" y "id_a", que apuntan a "jugadores.id" y que hacen referencia al que vende el jugador y al que lo compra. Pues bien, estoy intentando obtener la lista de fichajes con los nombres de nosotros en vez de la id y no puedo sacar los dos nombres (comprador y vendedor) a la vez. Esta consulta funciona perfecta, es sencilla:

SELECT f.id, f.nombre, f.precio, j.nombre AS de, j.nombre AS vendedor
FROM fichajes f, jugadores j
WHERE f.id_de = j.id

Pero no se como hacer para sacar otra columna "j.nombre AS comprador" con el nombre de id_a, he probado mil cosas y nada. ¿Alguien sabe si es viable y cómo sería la consulta?

Edit: Vale ya lo he conseguido con una subconsulta en el from, se me había olvidado casi todo de SQL joder xD

SELECT f.id, f.nombre, f.precio, j1.nombre AS vendedor, j2.nombre AS comprador
FROM fichajes f, jugadores j1, (SELECT id, nombre FROM jugadores) j2
WHERE f.id_de = j1.id AND f.id_a = j2.id
LOc0

Por curiosidad, ¿esto funciona?

 SELECT f.id, f.nombre, f.precio, j1.nombre AS vendedor, j2.nombre AS comprador
   FROM fichajes f, jugadores j1, jugadores j2
   WHERE f.id_de = j1.id AND f.id_a = j2.id

Salu2 ;)

1 respuesta
MTX_Anubis

Puedes cambiar esto

FROM fichajes f, jugadores j1, (SELECT id, nombre FROM jugadores) j2

por esto

FROM fichajes f, jugadores j1, jugadores j2

xD

edit: oh vaya, tenía esto abierto y no me fije que ya te lo habían contestado xD

RaymaN

#2 sí, también, con todo lo que empollé SQL en el ciclo y me siento torpísimo joder xD

Usuarios habituales

  • RaymaN
  • MTX_Anubis
  • LOc0