質問編集履歴

4

より明確にした

2020/12/02 23:15

投稿

orori
orori

スコア42

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,15 @@
10
10
 
11
11
  区切りのセミコロンをandにしたり全体をカッコにいれてみたりしましたが、うまくいきません。
12
12
 
13
+
14
+
13
- 内容既存のplaceテーブルがあり、そのzカラムの値が直前のレコードから変化している場合は、
15
+ 全体の作業としては既存のplaceテーブルがあり、そのzカラムの値が直前のレコードから変化している場合は、
14
16
 
15
17
 
16
18
 
17
19
  @y:=@y+1; @x:=1
18
20
 
19
- を実行、そうではない場合は以下を実行し
21
+ を実行、そうではない場合は以下を実行します。
20
22
 
21
23
 
22
24
 
@@ -24,9 +26,9 @@
24
26
 
25
27
 
26
28
 
27
- 結果のSELECT文をもとに新テーブルを作成しようと思っています。
29
+ 記載していませんが、ここで得られたSELECT文をもとに新テーブルを作成しようと思っています。
28
30
 
29
- 以下全体のSQL文です。
31
+ 以下SQL文です。
30
32
 
31
33
 
32
34
 

3

より明確にした

2020/12/02 23:15

投稿

orori
orori

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 環境はMySQL8です。
1
+ 環境はMySQL8.0.21です。
2
2
 
3
3
  以下のように、if文内で、2つの代入式を実行させたいのですが、エラーとなります。
4
4
 
@@ -8,9 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 区切りのセミコロンをandにしたりカッコにいれてみたりしましたが、うまくいきません。
11
+ 区切りのセミコロンをandにしたり全体をカッコにいれてみたりしましたが、うまくいきません。
12
-
13
-
14
12
 
15
13
  内容は、既存のplaceテーブルがあり、そのzカラムの値が直前のレコードから変化している場合は、
16
14
 

2

よりわかりやすくした

2020/12/02 23:06

投稿

orori
orori

スコア42

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,5 @@
1
+ 環境はMySQL8です。
2
+
1
3
  以下のように、if文内で、2つの代入式を実行させたいのですが、エラーとなります。
2
4
 
3
5
 
@@ -6,11 +8,27 @@
6
8
 
7
9
 
8
10
 
9
- 区切りのセミコロンをandにしたりてみましたが、うまくいきません。
11
+ 区切りのセミコロンをandにしたりカッコにいれてみたりしましたが、うまくいきません。
10
12
 
11
13
 
12
14
 
15
+ 内容は、既存のplaceテーブルがあり、そのzカラムの値が直前のレコードから変化している場合は、
16
+
17
+
18
+
19
+ @y:=@y+1; @x:=1
20
+
21
+ を実行、そうではない場合は以下を実行し、
22
+
23
+
24
+
25
+ @x:=@x+1
26
+
27
+
28
+
29
+ 結果のSELECT文をもとに新テーブルを作成しようと思っています。
30
+
13
- 以下全体のコードです。
31
+ 以下全体のSQL文です。
14
32
 
15
33
 
16
34
 
@@ -40,4 +58,4 @@
40
58
 
41
59
 
42
60
 
43
- どのうにしたらよいでょうか
61
+ くお願いいたします

1

よりわかりやすく余計な情報を削除した

2020/12/02 23:01

投稿

orori
orori

スコア42

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 以下一応全体のコードです。
13
+ 以下全体のコードです。
14
14
 
15
15
 
16
16
 
@@ -20,19 +20,21 @@
20
20
 
21
21
  set @y:=1;
22
22
 
23
+ set @z:=null;
24
+
23
25
 
24
26
 
25
27
  select
26
28
 
27
- if(@block!=p.block, @y:=@y+1; @x:=1, @x:=@x+1),
29
+ if(@z!=place.z, (@y:=@y+1; @x:=1), @x:=@x+1),
28
30
 
29
31
  @x,
30
32
 
31
33
  @y,
32
34
 
33
- eps.*
35
+ @z:=place.z
34
36
 
35
- from place p
37
+ from place;
36
38
 
37
39
  ```
38
40