
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
sinカーブの表示のさせ方
-
PreviewKeyDownイベントが2回...
-
JANコードとPOSコードは同じ?
-
access2021 VBA メソッドまたは...
-
Exel VBA 別ブックから該当デ...
-
Excel VBAでOpenTextのFieldInf...
-
Excelシート上で右クリックがで...
-
VBAでファイルオープン後にコー...
-
JavaScriptの定数名が取り消し...
-
VBA ユーザーフォームの印刷に...
-
【VB6】実行ファイルとした後、...
-
access2003 クエリSQL文に...
-
SQL
-
ACCESSで、履歴事項を管理する...
-
◾️Excel VBA 統合について Cons...
-
エクセル VBA 同じ内容のセル...
-
オートフィルタで抽出結果に 罫...
-
RS-232の ボーレイト変更がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
Exel VBA 別ブックから該当デ...
-
Nullの使い方が不正です。
-
access2003 クエリSQL文に...
-
JavaScriptの定数名が取り消し...
-
オートフィルタで抽出結果に 罫...
-
PreviewKeyDownイベントが2回...
-
エクセルに見えない文字(JISX0...
-
VBAでファイルオープン後にコー...
-
Excelシート上で右クリックがで...
-
変数名「cur」について
-
Excel VBA素人です。VBAで図形...
-
【VB6】実行ファイルとした後、...
-
VBA 現在のセル番地を記憶、復...
-
COBOLの文法
-
ASCIIコードを文字に変換したい
-
wechatアプリについての質問で...
おすすめ情報