長文となってしまい大変申し訳ございませんが、ご一読のうえご回答お願いいたします。
以下のテーブルがあります。
〇社員システム利用テーブル
ID 短いテキスト
社員名 短いテキスト
更新予定日1 短いテキスト
更新予定日2 短いテキスト
更新予定日3 短いテキスト
更新予定日4 短いテキスト
更新予定日5 短いテキスト
上記テーブルの更新予定日1~更新予定日5
を比較し、各社員の「最新更新予定日」を取得するクエリを作成したのですが
上手くできません。
★最新更新予定日
★更新予定日1~更新予定日5の日付の中でシステム日付を超えかつシステム日付に一番近い日付
(例)レコード1 データ内容
■システム日付:2021/9/2の場合
ID 001
社員名 鈴木 一
更新予定日1 2021/08/15
更新予定日2 空白
更新予定日3 2021/09/15
更新予定日4 2021/09/30
更新予定日5 空白
★最新更新予定日 2021/09/15 を取得したい
■システム日付:2021/9/19の場合
ID 001
社員名 鈴木 一
更新予定日1 2021/08/15
更新予定日2 空白
更新予定日3 2021/09/15
更新予定日4 2021/09/30
更新予定日5 空白
★最新更新予定日 2021/09/30 を取得したい
色々調べ、複数列の最大値を取得するSQLがあったので、それを基に色々試してみましたが、うまくできませんでした。
■最新更新予定日取得クエリ 作成したSQL
SELECT社員システム利用テーブル.ID,社員システム利用テーブル.社員名,社員システム利用テーブル.更新予定日1,社員システム利用テーブル.更新予定日2,社員システム利用テーブル.更新予定日3,社員システム利用テーブル.更新予定日4,社員システム利用テーブル.更新予定日5,
(SELECT Max([最新更新予定日]) FROM
(SELECT ID,更新予定日1 AS 最新更新予定日 FROM 社員システム利用テーブル AS x
UNION SELECT ID,更新予定日2FROM 社員システム利用テーブル AS x
UNION SELECT ID,更新予定日3FROM 社員システム利用テーブル AS x
UNION SELECT ID,更新予定日4FROM 社員システム利用テーブル AS x
UNION SELECT ID,更新予定日5FROM 社員システム利用テーブル AS x)
WHERE x.ID = システム利用テーブル.ID) AS 最新更新予定日
FROM 社員システム利用テーブル;
↑
Max関数を使用しているので、これでレコード1の最新更新予定日を
取得するとシステム日付関係なく「2021/09/30」となる。(当たり前ですね)
【補足】
・別にUNIONを使用しなくても良いのですが、わかりやすかったので、上記SQLを参考に試してみました。他の方法でもOKです。
・このクエリで所得した最新更新予定日を他の処理で使用したいため、このクエリで最新更新予定日を取得することは可能でしょうか。
ご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんな感じ。
フィールド名の全角数字は半角にしてあります。
(全角数字のフィールド名はトラブルの元です。可能なら避けましょう。)
短いテキスト型の日付では、場合によっては抽出がうまくいかない可能性があります。
これも可能なら 日付型にした方が宜しいかと思います。
SELECT 社員システム利用テーブル.*, T.最新更新予定日
FROM 社員システム利用テーブル
LEFT JOIN
(SELECT UQ.ID, Min(UQ.最新更新予定日) AS 最新更新予定日 FROM
(SELECT ID,更新予定日1 AS 最新更新予定日 FROM 社員システム利用テーブル
UNION SELECT ID,更新予定日2 FROM 社員システム利用テーブル
UNION SELECT ID,更新予定日3 FROM 社員システム利用テーブル
UNION SELECT ID,更新予定日4 FROM 社員システム利用テーブル
UNION SELECT ID,更新予定日5 FROM 社員システム利用テーブル
) AS UQ
WHERE UQ.最新更新予定日>Date()
GROUP BY UQ.ID
) AS T
ON 社員システム利用テーブル.ID = T.ID;
ご回答ありがとうございます。
上記SQLでうまくできました。ありがとうございます。
テーブルの設定についてご指摘ありがとうございます。他の処理も関連するので、色々調整を行いながら対応したいと思います。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Oracle SQL update方法 2 2022/06/22 14:07
- 派遣社員・契約社員 契約社員の更新時期について 1 2022/07/26 12:16
- 宇宙科学・天文学・天気 過去の気象データに残るのは1日を通しての最高気温、最低気温なのになぜ予報は1日後だけ最高気温は日中の 4 2022/11/05 17:43
- 健康保険 傷病手当金申請について 3 2023/02/19 13:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- 運転免許・教習所 運転免許の更新 5 2023/04/19 20:11
- 運転免許・教習所 免許更新 7 2023/05/29 08:21
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
-
Accessでフィールドを比較したいのですが
その他(データベース)
-
ACCESSで2つフィールドの日付を比較して新しい日付を表示するには。
Access(アクセス)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
Access 各レコードの中での最大フィールドを抽出したい
Access(アクセス)
-
6
アクセスで複数のレコード情報を1レコードにまとめる方法
Access(アクセス)
-
7
ACCESSにてフィールド間の最小値を表示するためのモジュール
その他(データベース)
-
8
複数のレコードを1つのレコードにまとめる方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
ACCESS テーブルを見比...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
Accessでリストの並び順を変更...
-
Acccessで2つのテーブルから1...
-
accessについて(超初心者です)
-
アクセス 部分一致の抽出
-
Access2007を同時に複数名で使...
-
テーブルに表示されているもの...
-
accessのテーブルを閉じたとき...
-
AccessVBAで任意の複数リンクテ...
-
Accesss テーブルの最終更新日...
-
Accessで前日までの残高を求め...
-
アクセス2016 チェックボックス...
-
access vbaにてテンポラリーテ...
-
クエリで同一テーブルの複数回...
-
Accessのテーブルで、不可解な...
-
Accessで使用しているリンクテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
Acccessで2つのテーブルから1...
-
Accessでリストの並び順を変更...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
ACCESSでテーブルをコピーしよ...
-
アクセス 部分一致の抽出
-
accessについて(超初心者です)
-
Microsoft Access 「Form」のボ...
-
クエリで同一テーブルの複数回...
-
access2000・・テーブルをデー...
-
アクセス2016 チェックボックス...
-
Accessで使用しているリンクテ...
-
アクセス2000でのリンク先...
-
accessのテーブルを閉じたとき...
おすすめ情報