将具有标准值的另一张表中的列中的所有记录插入到表中

时间:2019-04-24 12:29:46

标签: c# sql .net sql-server database

我有两个桌子,商店和产品。带有shopId(PK)和shopName列的表shop。另一个表Products的列productId(PK)和productName。因为我在两个表之间有很多关系,所以我创建了另一个表shopProduct,其中有两列shopId和productId。

例如,我有id为1的shop1和id为2的shop2,id = 1的product1和id = 2的product2。并且表shopProduct的记录是1-1,2-2。

但是现在我想拥有一个ID = 3的product3,该产品适用于所有商店。

我考虑的一个实际问题是我大约有250家商店。

没有存储过程怎么实现呢?

我当然不想做250

insert into shopProduct (shopId, productId) 
values (@shopId,@productId).

例如,我可以做for循环来每次都提供shopId值吗?产品ID的其他值每次都相同。

1 个答案:

答案 0 :(得分:2)

根据我对这个问题的理解,尝试一下...似乎太简单了,但是...

Insert into ShipProduct (ProductID, ShopID)
Select 3, ShopID
From Shops