- 締切済み
ACCESSのクエリについての質問です
ACCESSのクエリについての質問です。 同一コードに異なる名称が付与されている組織マスタがあるのですが、 開始日・終了日をみて存在する期間の組織名称のみを表示することはできますでしょうか? 具体的には 【組織マスタ】(全てテキスト型) 組織コード 組織名称 開始日 終了日 001 あああ 20040401 20080331 001 いいい 20080401 99999999 【社員履歴マスタ】(全てテキスト型) 社員コード 所属開始日 所属終了日 組織コード 12345 20040501 20080331 001 12345 20080401 20080930 001 というテーブルがあり、組織名称を含めて表示するためにクエリを作ったのですが 社員コード 所属開始日 所属終了日 組織コード 名称 12345 20040501 20080331 001 あああ 12345 20040501 20080331 001 いいい 12345 20080401 20080930 001 あああ 12345 20080401 20080930 001 いいい となってしまします。 結合は組織コードでしています。 所属時点で存在する組織名称を表示する 12345 20040501 20080331 001 あああ 12345 20080401 20080930 001 いいい となって欲しいのですが、できますでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
履歴の途中で名称が変わったときにはどうしたいのでしょう? ある時点での名称なら簡単に表示させることができます 所属終了日時点での名称を表示させるには 今のクエリの所属終了日の抽出条件欄に Between [開始日] And [終了日]
補足:回答について。 「ユニークなレコードを抽出するには?」との質問じゃーないんじゃないのか? 単なるテストデータの問題じゃーないのかな? と、そういうことを指摘したつもりです。
- keirika
- ベストアンサー率42% (279/658)
DISTINCT で重複を取り除いてはどうでしょう。
組織マスタ: 組織コード_組織名称_開始日___終了日 001________あああ___20040401_20080331 002________いいい___20080401_99999999 社員所属履歴: 社員コード_所属開始日_所属終了日_組織コード 12345______20040501___20080331___001 67890______20080401___20080930___002 クエリ1: 社員コード_所属開始日_所属終了日_組織コード_組織名称 12345______20040501___20080331___001________あああ 67890______20080401___20080930___002________いいい SELECT 社員所属履歴.社員コード, 社員所属履歴.所属開始日, 社員所属履歴.所属終了日, 社員所属履歴.組織コード, 組織マスタ.組織名称 FROM 社員所属履歴 LEFT JOIN 組織マスタ ON 社員所属履歴.組織コード=組織マスタ.組織コード; 普通にクエリで2つのテーブルを呼び出し組織コードで結合し表示列を選択しただけですが・・・。 どう考えても、「なってほしい」ようにしかならないと思いますよ。