sql server(为每个嵌套结果插入行)
我在sql server上得到了3个不同的表(attrib、att_art、art)。 “attrib”有一个属性列表,“art”有一个项目列表,att_art应该将两者结合起来,如下所示:sql server(为每个嵌套结果插入行),sql,sql-server,Sql,Sql Server,我在sql server上得到了3个不同的表(attrib、att_art、art)。 “attrib”有一个属性列表,“art”有一个项目列表,att_art应该将两者结合起来,如下所示: ATTRIB att1 att2 att3 ... ART ar1 ar2 ar3 ... att1 ar1 att2 ar1 att3 ar1 att4 ar2 att5 ar2 att6 ar2 .... 两个表都有一个唯一的id,在id_att和id_ar上的att_ar
ATTRIB
att1
att2
att3
...
ART
ar1
ar2
ar3
...
att1 ar1
att2 ar1
att3 ar1
att4 ar2
att5 ar2
att6 ar2
....
两个表都有一个唯一的id,在id_att和id_ar上的att_art上连接
这就是我需要做的:
对于艺术上的每一个项目,同时对于每一个属性,我需要在att_艺术上插入一个新行。像这样:
ATTRIB
att1
att2
att3
...
ART
ar1
ar2
ar3
...
att1 ar1
att2 ar1
att3 ar1
att4 ar2
att5 ar2
att6 ar2
....
我怎么能这样做?我对sql有点陌生,它让人难以抗拒 使用交叉应用
Select * from ATTRIB a
cross apply (select * from ART) b
使用交叉应用
Select * from ATTRIB a
cross apply (select * from ART) b
最典型的方法是
交叉连接
和插入
:
insert into att_art(attrib, art)
select attrib.attrib, art.item
from attrib cross join
art;
最典型的方法是
交叉连接
和插入
:
insert into att_art(attrib, art)
select attrib.attrib, art.item
from attrib cross join
art;
代码如何知道哪个
att
s与哪个art
s关联?如果一切都有,那没关系(但有点奇怪)。。。否则我们需要另一个数据源。如果您正在寻找一种“手动”输入它们的有效方法,我们也可以提供帮助。代码如何知道哪个att
s与哪个art
s关联?如果一切都有,那没关系(但有点奇怪)。。。否则我们需要另一个数据源。如果您正在寻找一种“手动”输入它们的有效方法,我们也可以提供帮助。