0

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

Filmlager [ProgramID, Type]

Genre [GenreID, GenreTitle]

由于存在多对多关系,因此我创建了一个连接表,如下所示:

ProgramGenre [ProgramID, GenreID, GenreOrder]

现在我想在其中的GenreOrder列中设置值 1Filmlager.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 表中的 ProgramID 和 GenreID 进行比较。我试过使用嵌套查询但没有成功。

我在 Microsoft SQL Server Management Studio 中使用 Transact-SQL

提前致谢!

4

1 回答 1

0

Just do an update:

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;
于 2015-05-08T09:54:43.990 回答