Sql 从多行中插入多行
如何在不使用光标的情况下从另一个具有多行的表中插入多行 例如: 假设我有三张桌子:Sql 从多行中插入多行,sql,sql-server,sql-insert,Sql,Sql Server,Sql Insert,如何在不使用光标的情况下从另一个具有多行的表中插入多行 例如: 假设我有三张桌子: 客户(客户ID,名称) GiftName(GifId,GiftName) GiftsToCustomers(GiftId,CustomerId) 表“客户”和“礼品”可以包含多行 现在让我们假设我在表中有3件礼物礼物,我想把它送给我的所有客户 有没有一种方法可以不通过客户或礼品表使用光标/循环来执行此操作 我不是在找这样的东西 insert into GiftsToCustomers Select Gi
客户
(客户ID
,名称
)GiftName
(GifId
,GiftName
)GiftsToCustomers
(GiftId
,CustomerId
)礼物
,我想把它送给我的所有客户
有没有一种方法可以不通过客户
或礼品
表使用光标/循环来执行此操作
我不是在找这样的东西
insert into GiftsToCustomers
Select GiftId, @CustomerId
from Gifts
我必须在customers/gifts中的每一行上执行此操作。交叉连接应该可以做到这一点-您可以使用它将
gifts中的每一行与custmers中的每一行进行匹配:
INSERT INTO GiftsToCustomers (GiftId, CustomerId)
SELECT GiftId, CustomerId
FROM Gifts
CROSS JOIN Customers
非常感谢。这就是我要找的。我知道这一定是比使用游标更好的方法。