teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

再度修正

2020/10/05 07:40

投稿

sousuke
sousuke

スコア3830

answer CHANGED
@@ -21,11 +21,12 @@
21
21
 
22
22
  ```sql
23
23
  UPDATE T_A AS A
24
- LEFT JOIN T_A AS B ON A.StoreID = B.StoreID
24
+ INNER JOIN T_A AS B ON A.StoreID = B.StoreID
25
- SET A.numCount = Nz([A].[numCount],0)+Nz([B].[num],0);
25
+ SET A.numCount = Nz([A].[numCount],0)+Nz([B].[num],0)
26
+ where B.name='aaa';
26
27
 
27
28
  ```
28
- StoreID=3をnullにしたいならwhere B.num=1入れて
29
+ StoreID=3をnullにしたいならwhere句にB.num=1入れて
29
30
  あとこれやるときは先にリセット用の更新クエリも走らせる必要あるかな
30
31
 
31
32
  ```sql

1

間違い訂正

2020/10/05 07:40

投稿

sousuke
sousuke

スコア3830

answer CHANGED
@@ -13,4 +13,23 @@
13
13
  ```
14
14
 
15
15
  一行ずつupdateされるイメージで式を書くとsumやcount相当の更新クエリを
16
- 書くことができます。
16
+ 書くことができます。
17
+
18
+ ### 訂正
19
+ 間違えてたので訂正
20
+ num=1確定ならnumを積み上げる感じで書けばいいかな
21
+
22
+ ```sql
23
+ UPDATE T_A AS A
24
+ LEFT JOIN T_A AS B ON A.StoreID = B.StoreID
25
+ SET A.numCount = Nz([A].[numCount],0)+Nz([B].[num],0);
26
+
27
+ ```
28
+ StoreID=3をnullにしたいならwhere B.num=1入れて
29
+ あとこれやるときは先にリセット用の更新クエリも走らせる必要あるかな
30
+
31
+ ```sql
32
+ UPDATE T_A AS A
33
+ SET A.numCount = null;
34
+
35
+ ```