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

回答編集履歴

2

回答修正: values削除

2020/03/26 09:04

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -10,12 +10,10 @@
10
10
 
11
11
  ```sql
12
12
  insert into [テーブルB] (CustSerial,Date,Name)
13
- values (
14
- SELECT
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
- FROM [テーブルA]
17
+ FROM [テーブルA]
19
18
  LEFT JOIN [テーブルC] ON [テーブルA].ID = [テーブルC].ID
20
- )
21
19
  ```

1

表現修正

2020/03/26 09:04

投稿

Y.H.
Y.H.

スコア7918

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)