在联结 table Transact-SQL 中填充一列

Populate a column in a junction table Transact-SQL

我有两个具有多对多关系的 table。 table 的相关部分如下所示:

Filmlager [ProgramID, Type]

Genre [GenreID, GenreTitle]

由于存在多对多关系,我创建了一个结点 table,如下所示:

ProgramGenre [ProgramID, GenreID, GenreOrder]

现在我想在 GenreOrder 列中设置值 1,其中 Filmlager.Type=Genre.GenreTitle

到目前为止,我已经设法通过以下查询获得了我想要更新 GenreOrder 的 ProgramID 和 GenreID:

 SELECT p.ProgramID, p.GenreID
 FROM ProgramGenre p, Filmlager f, Genre g
 WHERE p.ProgramID = f.ProgramID
 AND p.GenreID = g.GenreID
 AND f."Type"= g.GenreTitle;

我不确定如何从这里开始。我无法弄清楚的部分是如何将两列的组合(上述查询的结果)与 ProgramGenre table 中的 ProgramID 和 GenreID 进行比较。我试过使用嵌套查询但没有成功。

我在 Microsoft SQL Server Management Studio

中使用 Transact-SQL

提前致谢!

更新一下:

UPDATE p SET GenreOrder = 1
FROM ProgramGenre p
JOIN Filmlager f ON p.ProgramID = f.ProgramID
JOIN Genre g ON p.GenreID = g.GenreID
WHERE f."Type"= g.GenreTitle;