从另外两个 table 中插入一个 table 中的多行

Inserting multiple rows in one table from two other tables

我需要用一个查询将多行插入到 table 中(而不是使用循环,这是可能的,但会浪费服务器资源。)

我有三个table:

-Members
MemberID (int)

-Items
ItemID (int)

-MemberInventory
MemberID (int)
ItemID (int)

当我添加一个新成员时,我需要 select 那个新的 memberID 和所有的 itemID 并将它们插入到 MemberInv table。

当我添加一个新项目时,我需要 select 那个新的 itemID 和所有的 memberIDs 并将它们插入到 MemberInv table。

您可以尝试对 max(memberID) 和 CROSS JOIN 项目使用 INSERT SELECT

  insert into  MemberInventory ( MemberID, ItemID )
  select t.max_id , Items.ItemId
  from (
    select  max(Members.memberId) max_id
    from members
  ) t 
 cross join  Items