Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: crksergio en 18 Noviembre 2013, 07:38 AM

Título: Foreign Key con mismo nombre de dos tablas diferentes.
Publicado por: crksergio en 18 Noviembre 2013, 07:38 AM
Tengo el siguiente ejemplo:

(http://s22.postimg.org/9l6xg9bz5/sql.png)

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.
Título: Re: Foreign Key con mismo nombre de dos tablas diferentes.
Publicado por: basickdagger en 19 Noviembre 2013, 18:10 PM
Cita de: cracksergio en 18 Noviembre 2013, 07:38 AM
Tengo el siguiente ejemplo:

(http://s22.postimg.org/9l6xg9bz5/sql.png)

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
Título: Re: Foreign Key con mismo nombre de dos tablas diferentes.
Publicado por: crksergio en 20 Noviembre 2013, 18:17 PM
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:

(http://s2.postimg.org/tsr11vq61/Diagram1.png)

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')
Título: Re: Foreign Key con mismo nombre de dos tablas diferentes.
Publicado por: basickdagger en 21 Noviembre 2013, 16:48 PM
Cita de: cracksergio en 20 Noviembre 2013, 18:17 PM
Bueno, al final lo hice asi:

(http://s2.postimg.org/tsr11vq61/Diagram1.png)

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...