Sql 是否从另一个表更新表列?
所以我有两张桌子。假设一个表有一个学生列表,每个学生有一个学生ID,每个学生有一个家庭地址 然后,您有另一个表,该表在第一个表中有一个学生子集(并且他们的顺序完全不同),具有更新的地址和学生ID 我需要一个查询,可以匹配两个表的学生ID,从而使用第二个表中的内容更新第一个表中的地址 这是我尝试过的问题,但没有成功:Sql 是否从另一个表更新表列?,sql,database,ms-access,Sql,Database,Ms Access,所以我有两张桌子。假设一个表有一个学生列表,每个学生有一个学生ID,每个学生有一个家庭地址 然后,您有另一个表,该表在第一个表中有一个学生子集(并且他们的顺序完全不同),具有更新的地址和学生ID 我需要一个查询,可以匹配两个表的学生ID,从而使用第二个表中的内容更新第一个表中的地址 这是我尝试过的问题,但没有成功: UPDATE Roster, UpdatedRoster SET Roster.Address = (SELECT Address FROM UpdatedRoster WHERE
UPDATE Roster, UpdatedRoster
SET Roster.Address = (SELECT Address FROM UpdatedRoster WHERE Roster.StudentID = UpdatedRoster.StudentiD)
WHERE Roster.StudentID = UpdatedRoster.StudentiD
这里的任何帮助都将不胜感激
更新:这是在Microsoft Access FWIW上 我把你的主题放在这里,放进搜索功能(右上角),发现很多类似这样的问题已经得到了回答。例如,链接中示例的可能重复项与此类似,但不是我想要的(取自marc_的):-旧样式的逗号分隔表列表样式已被ANSI-92 SQL标准的正确ANSI连接语法所取代(20多年前),换句话说:答案不错,但它已经过时了。当我尝试此操作时,我不断遇到一个缺少查询运算符的错误。
UPDATE Roster
SET Roster.Address = UpdatedRoster.Address
FROM Roster, UpdatedRoster
WHERE Roster.StudentID = UpdatedRoster.StudentiD