回答編集履歴
2
回答修正: values削除
answer
CHANGED
@@ -10,12 +10,10 @@
|
|
10
10
|
|
11
11
|
```sql
|
12
12
|
insert into [テーブルB] (CustSerial,Date,Name)
|
13
|
-
values (
|
14
|
-
|
13
|
+
SELECT
|
15
14
|
IsNull((SELECT TOP 1 [テーブルA].CustSer FROM [テーブルD] WHERE [テーブルD].ID=[テーブルA].ID), 0) AS CustSer,
|
16
15
|
IsNull(FORMAT([テーブルA].date,'yyyy年MM月dd日'),'') as Date,
|
17
16
|
IsNull([テーブルA].name, '') as Name
|
18
|
-
|
17
|
+
FROM [テーブルA]
|
19
18
|
LEFT JOIN [テーブルC] ON [テーブルA].ID = [テーブルC].ID
|
20
|
-
)
|
21
19
|
```
|
1
表現修正
answer
CHANGED
@@ -3,10 +3,10 @@
|
|
3
3
|
10万件のループ内で Select文とInsert文を発行しているので20万回のSQLを発行することになります。
|
4
4
|
|
5
5
|
全部1つのSQL文で組むことができれば1回のSQL発行であとは全部SQLサーバーで処理できます。
|
6
|
-
こんな↓感じのイメージでやればいいと思います。
|
6
|
+
こんな↓感じの**イメージ**でやればいいと思います。
|
7
7
|
(T-SQL何年かぶりなので間違っていて動かない可能性大ですが・・・)
|
8
8
|
|
9
|
-
select文で[テーブルB]へInsertする形を作り上げられれば、それをvaluesに指定するだけです。
|
9
|
+
**select文で[テーブルB]へInsertする形を作り上げられれば、それをvaluesに指定するだけです。**
|
10
10
|
|
11
11
|
```sql
|
12
12
|
insert into [テーブルB] (CustSerial,Date,Name)
|