ayuda con consulta retorcida

mar
30 de Agosto del 2002
necesito extraer datos de la siguiente manera:

tabla1: id, equipo1, equipo2, equipo3
equipos: id, nombre

los nombres de los equipos se extraen de la tabla equipos, en cambio en la tabla1 los campos de equipo son numericos.
¿cómo extraer todos los nombres de un registro de tabla1 con un solo sql?

marccis
30 de Agosto del 2002
No entiendo nada. No puedes poner un ejemplo de los datos que esperas y las estructuras de las tablas?

La tabla1 tiene cuatro campos (id, equipo1, equipo2 y equipo3)?

mar
30 de Agosto del 2002
tabla1: equipo1 1
equipo2 3
equipo3 2

equipos: id 1 2 3
nombre betis madrid barcelona

el resultado del sql deberia ser:
betis, barcelona, madrid en un mismo registro

no se si ahora me he explicado mejor

yo
30 de Agosto del 2002
select e.nombre, t.id
from tabla1 t, equipos, e
where t.id = e.id

o

select e.nombre, t.id
from tabla1 t
inner join equipos e
on t.id = e.id


mar
30 de Agosto del 2002
Eso sería lo que me iría bien si solamente tuviese un equipo en cada registro, pero es que tengo varios equipos cuyo nombre me ha de salir a la vez, es decir en un mismo registro

marccis
30 de Agosto del 2002
Si lo he entendido bien:

equipos: id, nombre

tabla1: campos : id, equipo1, equipo2, equipo3
donde equipo1, equipo2 y equipo3 son foreign jeys referenciando equipos.id.

consulta sql para recuperar los nombre de los tres equipos de cada registro de tabla1:
SELECT (select equipos.nombre from equipos where equipos.id = equipo1), (select equipos.nombre from equipos where equipos.id = equipo2), (select equipos.nombre from equipos where equipos.id = equipo3) from tabla1

ahora si, no?