如何匹配主键和外键的值?

时间:2016-09-24 08:57:17

标签: sql sql-server foreign-keys primary-key

我在使用名为"课程"的表格中匹配主要列的值时遇到问题我的另一张桌子上的外键叫做#34; Curriculum"。我在sql server中的表看起来像这样

COURSE TABLE
CourseID | CourseName | CourseCode
----------------------------------
8        | IT         | 62345
9        | BA         | 64738
10       | IS         | 62341
CURRICULUM TABLE
CourseCode     | CurriculumID | CourseID
----------------------------------------
62345          | 87           | 4
64738          | 98           | 5
62341          | 78           | 6

这些值是在我使用asp.net制作的网站中导入的。我在那里上传了csv文件,然后它将被添加到数据库中,之后我得到这些值,似乎主键和外键不匹配。我需要一个匹配这两列的查询。请帮忙。我需要我的Curriculum表看起来像这样:

CURRICULUM TABLE
CourseCode     | CurriculumID | CourseID
----------------------------------------
62345              | 87           | 8
64738              | 98           | 9
62341              | 78           | 10

1 个答案:

答案 0 :(得分:0)

如果您在两个表中都有课程代码,则可以使用以下脚本。

UPDATE cu
SET cu.CourseID=c.CourseID
FROM Course c
 JOIN CURRICULUM  cu ON c.CourseCode=cu.CourseCode