-2

这是我之前提出的问题的更新第 2 部分。我正在尝试进行以下更新,但此查询实际上似乎没有做任何事情。

UPDATE  u
SET     graduation_class_id = gc.graduation_class_id
FROM    [user] u
JOIN    graduation_class gc
ON      u.graduation_class_id = gc.graduation_class_id
JOIN    graduation_term gt
ON      gt.graduation_year_id = gc.graduation_year_id

TABLE SCHEMA
**user
user_id
graduation_class_id

**graduation_class
graduation_class_id
graduation_year_id

**graduation_term
graduation_term_id
graduation_year_id

目标是将匹配的毕业类别 ID 值放入用户表中。我被告知这行不通,因为除非用户已经拥有匹配的毕业类别 ID,否则不会找到匹配项。这是一个问题,因为我正试图在其中找到合适的!

4

1 回答 1

2

这个想法从根本上注定要失败。尽管 SQL 服务器没有关于应将哪个毕业课程链接到用户的信息,但您正试图让 SQL 服务器自行将毕业课程链接到用户。除非您有一些数据(在用户、毕业班、其他表中)将 user_id 链接到毕业学期、班级或年份(或者有人手动告诉 SQL 哪些数据匹配),否则 SQL 不能神奇地做到这一点为你工作。

于 2012-06-29T01:28:00.687 回答