从其他两个表填充joiner表

时间:2015-12-17 21:24:16

标签: sql-server

我有三张桌子

Node
- NodeID

Role
- RoleID

NodeRoles
- NodeID
- RoleID

对于NodeID中的每条记录,我想在NodeRoles中为表Role中的每条记录创建一条记录。

这是我试图解决上述问题。

INSERT INTO NodeRoles (NodeID, RoleID)
VALUES ( SELECT NodeID from Node, SELECT RoleID from Role )

这看起来像一个简单的方法,这个想法感觉不错,但回来的错误是我们将多个值报告到单个列中。哪个审查有意义,因为这正是发生的事情。

在应用程序代码中,我只需设置两个foreach循环,但我不确定如何在SQL中获得相同的东西。谢谢!

1 个答案:

答案 0 :(得分:3)

试试这个:

INSERT INTO NodeRoles (NodeID, RoleID)
( SELECT NodeID,RoleID from Node,Role )