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

質問編集履歴

5

2020/12/03 13:04

投稿

moumou
moumou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -10,12 +10,12 @@
10
10
  LEFTJOIN
11
11
  y on x1=y1 z on z3=z3
12
12
  WHERE
13
- y.2>初めに設定した基準日-INTERVAL
13
+ y.2>now()-INTERVAL
14
14
  1MONTH AND y.4=`完了`
15
15
  UPDATE
16
16
  y set y.5=0
17
17
  WHERE
18
- y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
18
+ y.2>now()-INTERVAL1MONTH AND y.4=`完了`
19
19
  ```
20
20
  ・x,y,zは同じDBにあるテーブル名。
21
21
  ・カラム1と3で紐づける。
@@ -38,12 +38,12 @@
38
38
  コード
39
39
 
40
40
  ①WHERE
41
- y.2>初めに設定した基準日-INTERVAL
41
+ y.2>now()-INTERVAL
42
42
  1MONTH AND y.4=`完了`
43
43
  UPDATE
44
44
  y set y.5=0
45
45
  ②WHERE
46
- y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
46
+ y.2>now()-INTERVAL1MONTH AND y.4=`完了`
47
47
 
48
48
  ```
49
49
  ②のWHERE文が冗長でと思っています。

4

2020/12/03 13:04

投稿

moumou
moumou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -33,4 +33,17 @@
33
33
  ..
34
34
 
35
35
  ```
36
- update文をこのような形に変えたいです。
36
+ update文をこのような形に変えたいです。
37
+ ```
38
+ コード
39
+
40
+ ①WHERE
41
+ y.2>初めに設定した基準日-INTERVAL
42
+ 1MONTH AND y.4=`完了`
43
+ UPDATE
44
+ y set y.5=0
45
+ ②WHERE
46
+ y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
47
+
48
+ ```
49
+ ②のWHERE文が冗長でと思っています。

3

2020/12/03 12:51

投稿

moumou
moumou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -21,4 +21,16 @@
21
21
  ・カラム1と3で紐づける。
22
22
  ・y1はユニークキー
23
23
 
24
- mysql version 8.0.13
24
+ mysql version 8.0.13
25
+
26
+ ```
27
+ コード
28
+ UPDATE
29
+ y
30
+ SET
31
+ y.5=0
32
+ WHERE
33
+ ..
34
+
35
+ ```
36
+ update文をこのような形に変えたいです。

2

2020/12/03 12:27

投稿

moumou
moumou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -10,12 +10,15 @@
10
10
  LEFTJOIN
11
11
  y on x1=y1 z on z3=z3
12
12
  WHERE
13
- y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
13
+ y.2>初めに設定した基準日-INTERVAL
14
+ 1MONTH AND y.4=`完了`
14
15
  UPDATE
15
- y set カラムX=0
16
+ y set y.5=0
16
17
  WHERE
17
18
  y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
18
19
  ```
19
20
  ・x,y,zは同じDBにあるテーブル名。
20
21
  ・カラム1と3で紐づける。
21
- ・y1はユニークキー
22
+ ・y1はユニークキー
23
+
24
+ mysql version 8.0.13

1

2020/12/03 11:14

投稿

moumou
moumou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,8 @@
1
1
  UPDATE文のWHERE句で、select文のwhere句と同じことを書かずに、ユニークキーを利用して簡潔に書くことは出来ないでしょうか?
2
2
 
3
+ ```
4
+ コード
5
+
3
6
  SELECT
4
7
  x.1,y.2,z.3
5
8
  FROM
@@ -12,8 +15,7 @@
12
15
  y set カラムX=0
13
16
  WHERE
14
17
  y.2>初めに設定した基準日-INTERVAL1MONTH AND y.4=`完了`
15
-
18
+ ```
16
-
17
19
  ・x,y,zは同じDBにあるテーブル名。
18
20
  ・カラム1と3で紐づける。
19
21
  ・y1はユニークキー