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

2 Foreign Key de 1 Primary Key

Estas en el tema de 2 Foreign Key de 1 Primary Key en el foro de SQL Server en Foros del Web. Buenas, les agradesco de antemano por su ayuda! bueno el problema son en 2 tablas La primara se llama LUGAR -------------------------- Lug_id (pk) Lug_nombre DATOS ...
  #1 (permalink)  
Antiguo 29/06/2009, 13:41
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 16 años, 5 meses
Puntos: 0
2 Foreign Key de 1 Primary Key

Buenas, les agradesco de antemano por su ayuda!

bueno el problema son en 2 tablas

La primara se llama

LUGAR
--------------------------
Lug_id (pk)
Lug_nombre

DATOS DE LUGAR
--------------------------
L01 -- ARGENTINA
L02 -- PERU
L03 -- CHILE

La Segunda se llama

VIAJES
-------------------------
lug_id_origen (FK)
lug_id_destino (FK)

DATOS DE VIAJE
------------------------
L01 --- L02
L02 --- L03

bueno lo he simplificado las tablas solo al problema a hora lo que yo quiero es un resultado maso menos asi

ARGENTINA --- PERU
PERU --- CHILE

y bueno no se me ocurre como hacer esa consulta...

Select l.lug_nombre as A, l.lug_nombre as b from lugar l, viajes v
where l.lug_id=v.lug_id_origen and l.lug_id=v.lug_id_destino

ese es mi idea pero no sale nada :(
  #2 (permalink)  
Antiguo 30/06/2009, 09:24
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: 2 Foreign Key de 1 Primary Key

mira...Quizás esto te pueda ayudar a jugar con tus tablas.

select

lugar.lug_nombre as origen

from

lugar

where

lug_id_origen = L01

Eso te debería dar un listado de los lugares de origen. No se que otra tablas utilizas para comunicar, por ejemplo un usuario que viaja.

Sería de gran utilidad que los pusieras, pues así sabrí mejor como ayudarte, puees podría linkear los resultados a un usuario y realmente poner por ejemplo los lugares de origen y destino que tiene un usuario.
  #3 (permalink)  
Antiguo 30/06/2009, 19:49
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: 2 Foreign Key de 1 Primary Key

Bueno Gracias por la ayuda! pero lo he resuelto!! Creando otra tabla Destino.. :)
  #4 (permalink)  
Antiguo 01/07/2009, 07:37
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: 2 Foreign Key de 1 Primary Key

:)...


Buena solución...


Saludos.
  #5 (permalink)  
Antiguo 14/07/2009, 09:20
 
Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: 2 Foreign Key de 1 Primary Key

Respecto a tu consulta... Cual seria la sentencia para declarar que tu IdLugar en la tabla Viajes aparezca dos veces como FK?
  #6 (permalink)  
Antiguo 14/07/2009, 09:28
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: 2 Foreign Key de 1 Primary Key

solo repites el mismo proceso como lo haces para crear un solo foreign key, pero esta vez referenciando con la otra columna que sera el foreign key
  #7 (permalink)  
Antiguo 14/07/2009, 10:23
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: 2 Foreign Key de 1 Primary Key

Hola chicos!

mirando su consulta; me he acordado de los cross join. Con este query puedes evitarte crear esa tercera tabla. Tu consulta no jalaba con el cross debido a que referenciabas tu columna al mismo registro de la misma tabla. Por ende jamás encontraría conincidencias.

La SQL quedaría así:

Código:
Select l.lug_nombre as A,l1.lug_nombre as b from lugar l,lugar l1, viajes v
where l.lug_id=v.lug_id_origen 
and l1.lug_id=v.lug_id_destino
Salu2...
__________________
El conocimiento se alimenta de la repeticion y la consistencia!!! (Miguel--in-- 1983---....)
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 22:11.