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

回答編集履歴

1

コードの補足

2018/10/29 09:44

投稿

seastar3
seastar3

スコア2287

answer CHANGED
@@ -1,6 +1,14 @@
1
- もう一つの更新クエリを紹介しておきます。
1
+ もう一つの更新クエリを紹介しておきます。最初は目論見のシリアルNOを検出するクエリを示すのを忘れておりまして、その点を補足した訂正判の回答です。
2
+ まず、Min関数を使って日付がnullの先頭のシリアルNOを検出するクエリ **日付空欄先頭シリアルNO選択クエリ** を用意します。
2
3
 
4
+ 日付空欄先頭シリアルNO選択クエリ
3
5
  ```SQL
6
+ SELECT Min([シリアルNO]) AS 指定シリアルNO FROM 購入記録テーブル WHERE [購入記録テーブル].購入日 Is Null;
7
+ ```
8
+ 続いて上記の **日付空欄先頭シリアルNO選択クエリ** を1隊多の結合を組み込んで **日付空欄先頭更新クエリ2** を用意します。
9
+
10
+ 日付空欄先頭更新クエリ2
11
+ ```SQL
4
12
  UPDATE 購入記録テーブル LEFT JOIN 日付空欄先頭シリアルNO選択クエリ ON 購入記録テーブル.[シリアルNO] = 日付空欄先頭シリアルNO選択クエリ.指定シリアルNO SET 購入記録テーブル.購入日 = Date();
5
13
  ```
6
14
  これも検証済みですので、空のクエリにSQLビューで貼り付けて確かめてみて下さい。もちろんテーブル名は対応したものにしましょう。