Foreign Key con mismo nombre de dos tablas diferentes.

Iniciado por crksergio, 18 Noviembre 2013, 07:38 AM

0 Miembros y 1 Visitante están viendo este tema.

crksergio

Tengo el siguiente ejemplo:



Tengo problemas al querer crear la tabla Payment, porque el atributo Payment_ID lo estoy recibiendo de dos tablas: BILL y TICKET. Por ende, no podría escribir algo como:

foreign key (Payment_ID) references BILL(Payment_ID),
foreign key (Payment_ID) references TICKET(Payment_ID)


Porque estoy repitiendo el mismo atributo, cierto? Cómo podría hacerlo?

De antemano, gracias.

basickdagger

Cita de: cracksergio en 18 Noviembre 2013, 07:38 AM
Tengo el siguiente ejemplo:



Tengo problemas al querer crear la tabla Payment, porque el atributo Payment_ID lo estoy recibiendo de dos tablas: BILL y TICKET. Por ende, no podría escribir algo como:

foreign key (Payment_ID) references BILL(Payment_ID),
foreign key (Payment_ID) references TICKET(Payment_ID)


Porque estoy repitiendo el mismo atributo, cierto? Cómo podría hacerlo?

De antemano, gracias.
y pq no le cambias el nombre?... como Bill_payment_id ticket_payment_id

crksergio

Cita de: basickdagger en 19 Noviembre 2013, 18:10 PM
y pq no le cambias el nombre?... como Bill_payment_id ticket_payment_id

Bueno, al final lo hice asi:



Pero ahora tengo un problema al querer hacer una consulta. Cómo podría hacer una consulta en la que me muestre:
Payment_ID, y el ID de Ticket o de BILL en que el ID del Salesman sea 02, por ejemplo?

Intento algo como esto, pero no funciona:

select p.payment_id, p.id_ticket, p.id_bill
from Payment as p, Ticket as t, Bill as b
where p.id_ticket=t.id_ticket
and p.id_bill=b.id_bill
and and t.id_salesman in ('02')
and b.id_salesman in ('02')

basickdagger

Cita de: cracksergio en 20 Noviembre 2013, 18:17 PM
Bueno, al final lo hice asi:



Pero ahora tengo un problema al querer hacer una consulta. Cómo podría hacer una consulta en la que me muestre:
Payment_ID, y el ID de Ticket o de BILL en que el ID del Salesman sea 02, por ejemplo?

Intento algo como esto, pero no funciona:

select p.payment_id, p.id_ticket, p.id_bill
from Payment as p, Ticket as t, Bill as b
where p.id_ticket=t.id_ticket
and p.id_bill=b.id_bill
and and t.id_salesman in ('02')
and b.id_salesman in ('02')



asi dandole una revisada rapida p.payment_id no existe en tu tabla...