将三个不同的不相关表中的列插入到1个表中

时间:2013-09-27 09:03:15

标签: sql sql-server tsql

我有表EMPLOYEEPROJECTDM_Manager,它们之间没有任何关系。 这3个表是从名为Resource的父表创建的。

使用标识列生成Project表和DM_Manager表的主键。

我想从每个表中获取PK列,从Resource表中获取几列并创建一个新表。

请帮我解决这个问题。我是SQL Server的新手。

2 个答案:

答案 0 :(得分:1)

怎么样:

SELECT r.*, e.Id, p.Id, d.Id
INTO New_Table
FROM Resource r
LEFT OUTER JOIN Employee e ON e.Id = r.EmployeeId
LEFT OUTER JOIN Project p ON p.Id = r.ProjectId
LEFT OUTER JOIN DM_Manager d ON d.Id = d.ManagerId

..也就是说,假设Employee,Project和DM_Manager表彼此无关但所有都与Resource表相关。

答案 1 :(得分:0)

如果没有关系,可以使用:

INSERT INTO newtable (empID, projID, managerID, resourceID, resourcefield1)
SELECT employee.id, project.id, dm_manager.id, resource.id, resource.field1
FROM employee, project, dm_manager, resource;