2010-11-24 7 views
0
  1. クライアント(ID、名前...)
  2. 製品(ID、名前...)
  3. Clients_Products(client_idの、PRODUCT_ID)

のために私は10を追加しましたクライアントと私は結合テーブル(clients_products)を更新し、各製品と各クライアントのために新しいレコードを追加する必要があります。SQL Serverは、各命令

SQL Server管理スタジオなどでダブルループなどを行う方法はありますか?

次に10行を削除しましたが、これらの10行を作成して、すべての製品に直接結合したいと考えています。 (この最後の文に言い直してください - 意味がありません)

助けてください? thx

私はこれをプログラムでvb.netで行うことができますが、これを実現する方法はあると思います。

答えて

1

これは、私は私はあなたが何を言っているか理解していない

INSERT INTO clients_products (client_id, product_id) 
SELECT c.ID, p.ID 
FROM Clients c 
CROSS JOIN Products p 
LEFT JOIN clients_products cp 
    on c.client_id and p.product_id 
WHERE cp.client_id is null and p.product_id is null 
1
INSERT INTO Clients_Products 
SELECT c.Id, p.Id 
FROM Clients c 
JOIN Products p on 1=1 
WHERE c.Name in ('NEW CLIENT 1', 'NEW CLIENT 2') 
0

を、あなたはデカルトを求めているが、テーブルの両方の参加:

insert into clients_products 
select 
    clients.id,products.id 
from clients 
    cross join products