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

[ayuda] consulta SQL

Estas en el tema de [ayuda] consulta SQL en el foro de Bases de Datos General en Foros del Web. Hola gente, esta es mi primera pregunta en este foro, y busco ayuda con una consulta de una base de datos (aunque no doy por ...
  #1 (permalink)  
Antiguo 03/11/2004, 11:15
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 20 años
Puntos: 0
Pregunta [ayuda] consulta SQL

Hola gente, esta es mi primera pregunta en este foro, y busco ayuda con una consulta de una base de datos (aunque no doy por sentado que las tablas de la db estén bien armadas desde el comienzo).

Estoy tratando de armar una base de datos con tarifas de pasajes aéreos. Tengo una tabla aereos con las siguientes columnas (en realidad son más pero elimino las que no vienen al caso):

id | origen | destino | escala1 | escala2 | tarifa | impuestos | comentarios

id es la clave de la tabla
origen, destino, escala1 y escala2 guardan números que representan códigos de aeropuertos, tarifa e impuestos son campos simple que guardan el importe correspondiente a cada oferta, y comentarios guarda texto optativo.
ej:
0039 | 01 | 17 | 46 | 0 | 645.41 | 59.02 | solo para estudiantes


en otra aeropuertos tabla tendria:
id | aeropuerto | ciudad

ejemplos:
01 | ezeiza | buenos aires
17 | barajas | madrid
46 | montevideo | montevideo

la idea es lograr una consulta SQL que me devuelva el ID único de la oferta de la tabla aereos, y origen, destino y escalas con el nombre de la ciudad correspondiente. es decir,
Código:
id   | origen       | destino | escala1    | escala2 | tarifa   | impuestos | comentarios
0039 | buenos aires | madrid  | montevideo |         |  645.41  | 59.02      | solo para estudiantes
cualquier comentario sobre el tema será más que agradecido...

saludos!!

Última edición por ponzonik; 03/11/2004 a las 13:39
  #2 (permalink)  
Antiguo 04/11/2004, 04:53
 
Fecha de Ingreso: septiembre-2004
Mensajes: 35
Antigüedad: 20 años, 2 meses
Puntos: 0
Prueba algo como:

SELECT aereos.id, aeropuertos.ciudad AS origen, aeropuertos_1.ciudad AS destino, aeropuertos_2.ciudad AS escala1, aeropuertos_3.ciudad AS escala2, aereos.tarifa, aereos.impuestos, aereos.comentarios
FROM (((aereos
INNER JOIN aeropuertos ON aereos.origen = aeropuertos.id)
INNER JOIN aeropuertos AS aeropuertos_1 ON aereos.destino = aeropuertos_1.id)
INNER JOIN aeropuertos AS aeropuertos_2 ON aereos.escala1 = aeropuertos_2.id)
INNER JOIN aeropuertos AS aeropuertos_3 ON aereos.escala2 = aeropuertos_3.id

Tendrás que definir una entrada extra en la tabla aeropuertos para el código de id=0, algo como

0 | |

o

0 | no usado | no usado
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 14:12.