链接2表并创建新表

时间:2018-03-28 02:22:34

标签: oracle oracle11g

我有2张桌子

表名:客户

+----+----------------+--------------+
| ID |Name            | Supervisor   |
+----+----------------+--------------+
| C1 | Jenny          | 2011-Apr-2   |
| C2 | Jack           | 1975-May-8   |
| C3 | May            | 1953-Sept-3  |
+----+----------------+--------------+

表名:家庭

+----+----------------+--------------+-----------+
| ID | Name           | Cust_id      |  Status   |
+----+----------------+--------------+-----------+
| F1 | James          | C1           |  Spouse   |
| F2 | Charlie        | C1           |  Child    |
| F3 | Jane           | C3           |  Child    |
+----+----------------+--------------+-----------+

通过这两个表,我想创建一个将两个表连接在一起的新表。 (使用CREATE TABLE子句)

表名:会员资格

+---------------+------+-------------+-------------+
| Membership_id | Id   | Name        | Date_created|
+---------------+------+-------------+-------------+
| M1            | C1   | Jenny       |  2017-Dec-5 |
| M2            | F1   | James       |  2018-Jan-2 |
| M3            | F2   | Charlie     |  2018-Jan-15|
| M4            | F3   | Jane        |  2018-Jan-26|
| M5            | C3   | May         |  2018-Feb-4 |
+---------------+--------------------+-------------+

我将使用会员ID来预订该项目。 表名:预订(mem_id是Membership_id的链接)

+---------------+----------+-------------+
| Book_id       | mem_id   | Book_item   | 
+---------------+----------+-------------+
| B1            | M2       | Chair       |
| B2            | M3       | Table       |
| B3            | M5       | Table       |
+---------------+----------+-------------+

我是初学者,尝试使用JOIN和UNION,但无法按照我的意愿获得结果..寻求帮助

1 个答案:

答案 0 :(得分:1)

首先,可以在没有任何连接或联合的情况下创建表。您可以为客户和家人以相同的方式创建简单的创建表。然后,在查询表格时,将完成所需的任何“链接”。

但是,如果您希望存在某种外键约束,那么棘手的部分就会出现。如果是这种情况,您可以参考此链接:

  1. MySQL - Conditional Foreign Key Constraints
  2. it is possible to reference one column as multiple foreign keys