我在sql server(attrib,att_art,art)上有3个不同的表。 'attrib'有一个属性列表,'art'有一个项目列表,att_art应该加入两者,如下所示:
ATTRIB
att1
att2
att3
...
ART
ar1
ar2
ar3
...
两个表都有一个唯一的ID,它连接在id_att和id_ar
上的att_art上这就是我需要做的事情:
对于艺术品和每个attrib的每个项目,我需要在att_art上插入一个新行。像这样:
att1 ar1
att2 ar1
att3 ar1
att4 ar2
att5 ar2
att6 ar2
....
我怎么能这样做?我是sql的新手,而且一直都是压倒性的!
答案 0 :(得分:1)
使用交叉申请.............
Select * from ATTRIB a
cross apply (select * from ART) b
答案 1 :(得分:1)
最典型的方式是cross join
insert
:
insert into att_art(attrib, art)
select attrib.attrib, art.item
from attrib cross join
art;