如何通过关联表添加附加到父项的子元素?

时间:2014-04-03 21:24:35

标签: sql sql-server

我有两个表,第一个是父表和子表之间的关联。另一个表包含附加到父母的联系人,我想向他们的每个孩子添加联系人父母。 我没有看到如何构建SQL查询

第一桌协会 “级别”

Level_id_parent Level_id_child

1               4
1               5
2               6
3               7
3               8
3               9

第二表“联络”

Level_id   Contact_id   Visible
1            45           1
1            56           0
1            73           0
2            12           1
2            13           1
3            122          0

在“联系人”表格中,我想添加与LEVEL_1 LEVEL_2对应的联系人。 对于以下结果:

Level_id   Contact_id   Visible
1            45           1
1            56           0
1            73           0
2            12           1
2            13           1
3            122          0
----------------------------
4            45           1
4            56           0
4            73           0

5            45           1
5            56           0
5            73           0

6            12           1
6            13           1


7            122          0

8            122          0

9            122          0

我应该使用游标来做到这一点吗?我迷路了。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

不需要游标,只需要一个简单的UNIONed查询:

select level_id, contact_id, visible
from contact
union all
select level_id_child, contact_id, visible
from levels l
inner join contact c
on l.level_id_parent = c.level_id
order by level_id