2017-06-02 6 views
0

SQLサーバー(attrib、att_art、art)上に3つの異なるテーブルがあります。 「ATTRIB」は属性のリストを持って、「芸術」はアイテムとatt_artのリストがあり、このよう、両方に参加する必要があります。SQLサーバー(各結果のネストされた行を挿入)

ATTRIB 
att1 
att2 
att3 
... 

ART 
ar1 
ar2 
ar3 
... 

両方のテーブルはid_att上と

id_ar att_artに結合する一意なIDを持っています

これは私が行う必要があります:

アートと各属性のそれぞれのアイテムについて、同時にatt_artに新しい行を挿入する必要があります。このように:

att1 ar1 
att2 ar1 
att3 ar1 
att4 ar2 
att5 ar2 
att6 ar2 
.... 

どうすればいいですか?私はSQL上でちょっと新しいです、そして、それは圧倒的でした!

+0

att 'は 'アート'と関連づけていますか?それがすべてであれば、それは大丈夫です(でも変わります)...そうでなければ、別のデータソースが必要になります。手動で入力する効率的な方法の直後であれば、それを手助けすることもできます。 –

答えて

1

使用クロス.............

Select * from ATTRIB a 
cross apply (select * from ART) b 
1

を適用する最も一般的な方法はinsertcross join次のようになります。

コードは `知ることができますどのように
insert into att_art(attrib, art) 
    select attrib.attrib, art.item 
    from attrib cross join 
     art; 
+0

ありがとう、みんな。それは魅力のように働いた。 – vvic