質問編集履歴

3

修正

2017/03/10 09:33

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- insert selectで複数件をループて登録
1
+ insert~selectのselect取得した結果が複数件でもinsertたい
test CHANGED
File without changes

2

修正

2017/03/10 09:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -36,6 +36,34 @@
36
36
 
37
37
  ```
38
38
 
39
+
40
+
41
+ res_tableは↓のような形です
42
+
43
+ |resjouken|res|
44
+
45
+ |:--|:--:|
46
+
47
+ |hoge|123|
48
+
49
+ |hoge|456|
50
+
51
+ |hoge|789|
52
+
53
+ |hoge|012|
54
+
55
+ |geho|012|
56
+
57
+ |geho|012|
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
39
67
  上記のような形でresから取得してきたものを、
40
68
 
41
69
  どんどんinsert_tableに追加していきたいです。

1

修正しました

2017/03/10 09:14

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,31 +1,43 @@
1
+ excelのファイルで下記のように入力されている内容から、
2
+
3
+ INSERT文を生成できるようにしたいです。
4
+
5
+ |id||res取得の条件|
6
+
7
+ |:--:|:--:|
8
+
9
+ |123|hoge|
10
+
11
+
12
+
1
13
  ```SQL
2
14
 
3
- INSERT INTO table (id,no,res)
15
+ INSERT INTO insert_table (id,no,res)
4
16
 
5
- SELECT id,no,res
17
+ SELECT
6
18
 
19
+ // excelのidをそのまま設定
20
+
21
+ id,
22
+
23
+ // excelのidを検索条件に設定
24
+
25
+ (select max(no)+1 from insert_table where id = 'id'),
26
+
27
+ // resの条件で取得できたモノを設定
28
+
29
+ // ※この場合に複数件取れる場合がある
30
+
31
+ res
32
+
7
- FROM restable
33
+ FROM res_table
34
+
35
+ WHER resjouken = "hoge"
8
36
 
9
37
  ```
10
38
 
39
+ 上記のような形でresから取得してきたものを、
11
40
 
41
+ どんどんinsert_tableに追加していきたいです。
12
42
 
13
- 上記のようにinto~selectをしたい場合に、
14
-
15
- idとnoは主キーであり、
16
-
17
- 略していますがnoは登録対象テーブルから
18
-
19
- idで取得できる検索結果のmaxの値+1を設定しています。
20
-
21
-
22
-
23
- その場合に、resが複数件とれてその分ループして
24
-
25
- insertしていくという処理がやりたいのですが。
26
-
27
- そもそも可能なのでしょうか?
28
-
29
-
30
-
31
- ご教授お願いいたします。
43
+ 可能かどうか、ご教授お願いいたします。