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 に答える