在SQL中生成连接表

时间:2016-10-20 10:51:55

标签: sql oracle

我找了这个,但找不到适用于我的方案的解决方案。

我正在建立一个游戏开发者数据库,我希望生成一个连接表:

我有以下内容:

Employee
(
    name, date of birth, department they work at, task they do
)

Department
(
    department name
)

Task
(
    task name
)

我需要生成一个连接表,显示哪个department对哪个task有贡献。我会通过检查每个employee department(仅一个)和task(也只有一个)来做到这一点。在匹配时,department会对task做出贡献DM[0,:] = 0 DM[:,0] = 0 DM[N-1,:] = 0 DM[:,N-1] = 0 1}}。

这就是想法,但我必须弄清楚如何使用Oracle

对其进行编码

2 个答案:

答案 0 :(得分:1)

SELECT DISTINCT "department they work at", "task they do"
  FROM Employee;

答案 1 :(得分:1)

您应首先制定一个实体关系图,列出您使用的实体以及哪些属性(以及哪些主键)以及这些实体之间的关系。关系可以是:1对1,1对1和多对1,以及多对多。 在最后一种情况(M:N关系)中,数据库表中的实现需要额外的表来记录这种M:N关系。 在表中实现1:N关系的方法是将子表中的外键添加到父表的主键。

编辑:我看到你现在提供了一些细节,现在很清楚,EMPLOYEE表实际上是连接表,所以你可以简单地查询该表并显示DEPTID和TASKID(两者都是各自的主键)表)在部门和任务之间建立联系。请参阅其他答案中的查询,并在DEPTID上添加ORDERBY,以按DEPTID的顺序显示结果。