ACCESSのクエリで悩んでいます。ご回答頂けると幸いです。
<やりたいこと>
更新履歴を残しつつ、現在事項のみを抽出する作成クエリを作りたい。
<元テーブル : 履歴事項 >
ID│更新日 │コード│内容1 │内容2 │更新理由
01│4/22│001│あいうえお│かきくけこ│新規
02│5/22│002│さしすせそ│たちつてと│新規
03│5/22│001│なにぬねの│ │はひふへほ
更新があったときは、変更する内容だけを入力し、
変更のない内容はNULLにします。
<作成したいテーブル : 現在事項>
コード│内容1 │内容2
001│なにぬねの│かきくけこ
002│さしすせそ│たちつてと
コードごとに更新日が最新のものを抽出し、ブランクの内容があったら、
その直近の更新日のものを抽出してくるようにしたいのです。
当方初心者のため、できればクエリのデザイン画面で
できる方法があるといいのですが、難しいならSQLも頑張ります。
ご回答、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
クエリのSQLビューで以下を貼り付け実行してみるとどうなりますか。
SELECT T1.コード,
(SELECT TOP 1 Q1.内容1 FROM 履歴事項 AS Q1 WHERE Q1.コード=T1.コード AND Not Q1.内容1 Is Null ORDER BY Q1.更新日 DESC) AS 内容1,
(SELECT TOP 1 Q2.内容2 FROM 履歴事項 AS Q2 WHERE Q2.コード=T1.コード AND Not Q2.内容2 Is Null ORDER BY Q2.更新日 DESC) AS 内容2
FROM 履歴事項 AS T1
GROUP BY T1.コード;
直にテーブルを作成するのなら、FROM の前に INTO 現在事項 を入れてみてください。
この回答への補足
ご回答が遅くなって申し訳ありません。
丸写しはよくないと思うので、SQLを理解すべく頑張っているのですが、なかなか難しくて。もう少し頑張ってみます。お時間ください。
ありがとうございました。
ただ、やはりSQLが難しいのと、ブランクの内容があったらその直近の更新日のものを抽出となると、ブランクに変更することができなくなるので、更新日ごとにすべての内容を入れるようにして、クエリの2段重ねで作成しました。
クエリ1で、コードをグループ化し、更新日の最大で集計。
クエリ2で、クエリ1のコードと更新日に、履歴事項テーブルをくっつける。
これでなんとなくうまくいきました。
お騒がせして申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- 派遣社員・契約社員 20代後半の派遣社員です。 新しい仕事についたのですが、仕事内容が思ってたよりも複雑で難しく中々覚え 3 2023/08/14 22:03
- 借地・借家 住宅管理委託契約の合意更新をわすれた 2 2023/01/28 08:20
- その他(ソフトウェア) 現在と過去の顧客名簿、新規・解約・更新など作りたいのですが「やよいの顧客管理」なら簡単に扱えますか? 1 2022/05/18 10:44
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- Windows 10 このWindowsUpdateの失敗メッセージは何を物語るか? 5 2023/07/17 11:49
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- その他(ネットショッピング・通販・ECサイト) アメリカの大手通販サイトiherbを普段利用中の方に質問です。 iherb歴7年のものです。 いつも 2 2022/06/10 13:59
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Accessで更新履歴情報を保存(表示)する方法を教えてください。
Access(アクセス)
-
ACCESSでデータ変更箇所が分かるようにする方法
Access(アクセス)
-
Accessで重複データを入力できないようにしたい。
PowerPoint(パワーポイント)
-
-
4
Accessでデータを更新したらその日付を自動入力したい
Access(アクセス)
-
5
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
6
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
7
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
8
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
-
9
選択クエリで空欄のテーブルがあっても表示したい
Access(アクセス)
-
10
ACCESSでログを残す方法
その他(Microsoft Office)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
COBOLの文法
-
access2003 クエリSQL文に...
-
Exel VBA 別ブックから該当デ...
-
特定行の背景色を変えたいのですが
-
オートフィルタで抽出結果に 罫...
-
1日に1人がこなせるプログラム...
-
AccessVBAで、二次元配列を動的...
-
SQL
-
欠番の抽出について
-
【VB6】実行ファイルとした後、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
VBAのフィルター操作
-
vba スライサー
-
QRコードの印刷
-
VBA リストボックス(複数条件...
-
Microsoft Visual Studio Commu...
-
ビジュアルスタジオの警告が出...
-
アルファベットに付いて質問し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
ExcelのVBAコードについて教え...
-
Exel VBA 別ブックから該当デ...
-
chatgptでつくってもらったコー...
-
PreviewKeyDownイベントが2回...
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
JANコードとPOSコードは同じ?
-
JavaScript|特定URLだった時、...
-
ACCESSユニオンクエリでORDER B...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
COBOLの文法
-
Gitのクローンについて
-
Outlook VBAについて
おすすめ情報