这是我之前提出的问题的第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
目标是将匹配的gradu_class_id值放入用户表中。我被告知这不起作用,因为除非用户已经匹配了gradu_class_id,否则将无法找到匹配项。这是一个问题,因为我正试图在那里找到合适的人!
答案 0 :(得分:2)
这个想法从根本上注定要失败。尽管SQL服务器没有关于应该将哪个毕业班级链接到用户的信息,但您正试图让SQL服务器自己将毕业班级链接到用户。除非你在某个地方(在用户中,在gradu_class中,在其他一些表中)有一些数据将user_id链接到毕业学期,班级或年份(或者某人手动告诉SQL哪些数据匹配),SQL不能神奇地做到这一点为你工作。