如何联接两个表并添加一个列来链接SQLServer中的两个表?

如何联接两个表并添加一个列来链接SQLServer中的两个表?,sql,sql-server,join,Sql,Sql Server,Join,我有一个任务,在其中我必须创建两个虚拟表,并添加一列,将这两个虚拟表链接在一起。我知道我可以使用join语句将两个虚拟表连接在一起,但唯一的问题是如何添加一列,在其中我可以使用主键将这两个表链接在一起?您需要另一个表,因为一个人可以在多家公司工作,而一家公司有很多员工。因此,添加另一个表CompanyStaff,例如,它将companyID保存为personID,然后进行连接 公司员工表 身份证公司身份证 SELECT * FROM Company c INNER JOIN CompanySta

我有一个任务,在其中我必须创建两个虚拟表,并添加一列,将这两个虚拟表链接在一起。我知道我可以使用join语句将两个虚拟表连接在一起,但唯一的问题是如何添加一列,在其中我可以使用主键将这两个表链接在一起?

您需要另一个表,因为一个人可以在多家公司工作,而一家公司有很多员工。因此,添加另一个表CompanyStaff,例如,它将companyID保存为personID,然后进行连接

公司员工表

身份证公司身份证

SELECT * FROM Company c INNER JOIN CompanyStaff cs 
ON c.ID = cs.CompanyID 
INNER JOIN Staff s ON s.ID = cs.StaffID
之后,您可以过滤或选择您想要的任何内容

您还可以向Staff表中添加包含CompanyID的列,但这将是多余的。 在您的示例中,目前没有链接员工和公司的信息,因此您无法进行正确的查询


如果这两个表中有拆分的记录信息,您可以在RecordID上1-1联接它们,但这两个表中的记录必须相同。

您应该在staff表中传递公司id列(添加新列)。在此基础上,您将加入表。

只需谷歌
加入sql server
在您的示例中,记录ID都不匹配,这是真实情况吗?请详细说明“添加将员工表与公司表关联的列”,以澄清您的愿望。是否要添加列?到哪个表?为了澄清,我想创建一个表,其中有一列关联公司表和员工表的记录。还要指定预期结果。也许,这不是一个非常清楚的问题,但不是你的错:)