3

我希望有人可以帮助解决我在 Microsoft Access 中遇到的一些 SQL 更新查询的以下问题。

我运行以下代码

UPDATE [Master Record] INNER JOIN [Family Members] ON [Master Record].[Family ID] = [Family Members].[Family ID] 
SET [Master Record].[Years Attendance] = ([Years Attendance]+1)
WHERE ((([Family Members].Attending)=True));

除了我只想将出勤年数增加 1 次之外,即使有多个家庭成员参加,这也是可行的。因此,目前当我运行此程序时,如果有 4 个家庭成员参加,当我只想要 1 时,我会得到 4 的增量。

即使有多个家庭成员参加,我也需要一些方法来将年数增加 1。谢谢。

4

1 回答 1

1

有几种方法可以做到这一点,但我可能只是使用IN而不是JOIN

UPDATE [Master Record] 
SET [Years Attendance] = [Years Attendance]+1
WHERE [Family ID] IN (
    SELECT [Family ID] 
    FROM [Family Members] 
    WHERE Attending=True
)
于 2013-04-24T14:58:53.190 回答