来自同一张桌子的2个外键
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自同一张桌子的2个外键相关的知识,希望对你有一定的参考价值。
所以我正在尝试创建一个在线比萨订单系统。我的问题是在为交付人员创建表时,我应该只在交付人员表中使用cust_id还是我还应该包含cust_address
CREATE TABLE CUSTOMER
(
cust_id varchar(7) not null,
cust_name varchar(30) not null,
cust_address varchar(40) not null,
cust_num varchar(11) not null,
order_id int,
primary key(cust_id)
);
CREATE TABLE Delivery_Boy
(
employee_id varchar(7) not null,
cust_id varchar(7) not null,
order_id int,
primary key(employee_id),
foreign key(order_id) references PIZZA_ORDER(order_id),
foreign key (cust_id) REFERENCES Customer(cust_id)
);
答案
只有cust_id
足够你可以通过使用cust_address
加入两个表来获得cust_id
。
像这样
SELECT DB.cust_id,C.cust_name,C.cust_address,C.cust_num,C.order_id
FROM CUSTOMER C INNER JOIN Delivery_Boy DB
ON C.cust_id = DB.cust_id
以上是关于来自同一张桌子的2个外键的主要内容,如果未能解决你的问题,请参考以下文章
Django模型:如何避免在使用来自同一个表的2个外键时引用相同的记录