Sql 在数据来自两个SELECT查询的表中插入数据

Sql 在数据来自两个SELECT查询的表中插入数据,sql,sql-server,Sql,Sql Server,我有一个需要插入数据的表。该表有两列: 班级学生(表格) ClassId 学生 我要插入的数据可以从两个表中找到: 类别(表格) 学生(表格) 我需要得到相关的class.Id和相关的Students.Id,并将它们插入到ClassStudents表中。我可以从每个表中获得相关数据,但我不知道如何将这些数据插入到学生中。这两个表的数据不会有相同数量的记录:类的记录会比学生少,但我需要插入所有类的组合。Id到Students.Id,并将所有这些组合插入到ClassStudents表 我想我需要

我有一个需要插入数据的表。该表有两列:

班级学生(表格)

  • ClassId
  • 学生
我要插入的数据可以从两个表中找到:

类别(表格)

学生(表格)

我需要得到相关的class.Id和相关的Students.Id,并将它们插入到ClassStudents表中。我可以从每个表中获得相关数据,但我不知道如何将这些数据插入到学生中。这两个表的数据不会有相同数量的记录:类的记录会比学生少,但我需要插入所有类的组合。Id到Students.Id,并将所有这些组合插入到ClassStudents表


我想我需要一个交叉连接,然后用它来插入,但我不知道如何或是否允许交叉连接两个select查询(一个来自课堂,用于获取所有相关数据,另一个来自学生,用于获取相关数据)。

您没有提供任何requisit示例数据和预期结果

然而,你可能(如果不是,你需要澄清)只需要一个工会

Insert into ClassStudents (ClassId, StudentId)
select ClassId, StudentId
from Classes
union
select ClassId, StudentId
from Students

如果您需要保留副本,请使用
union all

示例数据、预期结果,以及重要的是,您的尝试将在这里帮助我们。请共享班级和学生的表结构。我没有提到该结构,因为我只需要学生表中的students.Id和班级表中的classes.Id,如问题所述。一个简单的选择就足够了。问题是如何将两个选择连接在一起。您好,谢谢,但正如我在问题中提到的,我只需要Students.Id来自Students表和Classes.Id来自Classes表,然后将这两者的组合连接起来,然后插入表中。听起来您需要一个完整的外部连接。如果您提供了适当的表模式、示例数据和预期结果,那么帮助您会容易得多。