• 締切済み

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  いいい となって欲しいのですが、できますでしょうか?

みんなの回答

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

履歴の途中で名称が変わったときにはどうしたいのでしょう? ある時点での名称なら簡単に表示させることができます 所属終了日時点での名称を表示させるには 今のクエリの所属終了日の抽出条件欄に Between [開始日] And [終了日]

noname#140971
noname#140971
回答No.3

補足:回答について。 「ユニークなレコードを抽出するには?」との質問じゃーないんじゃないのか? 単なるテストデータの問題じゃーないのかな? と、そういうことを指摘したつもりです。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

DISTINCT で重複を取り除いてはどうでしょう。

noname#140971
noname#140971
回答No.1

組織マスタ: 組織コード_組織名称_開始日___終了日 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つのテーブルを呼び出し組織コードで結合し表示列を選択しただけですが・・・。 どう考えても、「なってほしい」ようにしかならないと思いますよ。

関連するQ&A