Foro de elhacker.net

Programación => 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:

Código:
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
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:

Código:
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
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:

Código:
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
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:

Código:
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...