dポイントプレゼントキャンペーン実施中!

access2002を使っています。

テーブルAで、それぞれの人の活動開始日と終了日のデータを
もっています。
名前    開始日    終了日
───────────────────
井上さん  2005/07/01  2005/11/30
渡辺さん  2005/09/22  2005/09/23
佐藤さん  2005/10/03  2005/10/05

 ・
 ・ 

クエリで、「2005/10/01~31まで活動した人」
(テーブルAで、活動期間の中に10月が1日でも含まれている人」を
抽出したいのですが、どうすればよいのかわからず困っています。

テーブルAで言えば、10月の活動者だと、
井上さんと佐藤さんを抽出したいのです。

よろしくお願いします。

A 回答 (8件)

失礼しました。

ざっと書いたもんで・・条件を間違えました。あと<>の次に=が抜けてました。付け加えてください。

SELECT テーブルA.名前, テーブルA.開始日, テーブルA.終了日
FROM テーブルA
WHERE (((ベーステーブル.開始日<=#2005/10/31#) AND ((ベーステーブル.終了日)>=#2005/10/01#));
です。

SQLは#2005/10/31#のように記述してもJetが勝手に#10/31/2005#に書き換えてくれます。

抽出条件は
WHERE (((テーブルA.開始日) Between #2005/10/01# And #2005/10/31#)) OR (((テーブルA.開始日)<=#2005/10/01#) AND ((テーブルA.終了日)>=#2005/10/01#));
でも同様の結果を返してくれます。

もどちらでもお望みの抽出が出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございました!
大変参考になりました。

お礼日時:2005/11/14 14:09

#5のSQLの方間違っていました。



SELECT [テーブルA].開始日, [テーブルA].終了日, [テーブルA].名前
FROM 名前
WHERE ((([テーブルA].開始日)<=#10/31/2005#) AND (([テーブルA].終了日)>=#10/1/2005#));
    • good
    • 0
この回答へのお礼

ありがとうございました!
大変参考になりました。
何度もありがとうございました。

お礼日時:2005/11/14 14:09

すみません、No.1の回答は間違いです。


開始日<=2005/10/31、終了日>=2005/10/1、を抽出条件に設定するのだと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました!
大変参考になりました。
いろいろやってみます。

お礼日時:2005/11/14 14:11

QBEだと



開始日が <=#2005/10/31#
終了日が >=#2005/10/01#

SQLだと

SELECT [テーブルA].開始日, [テーブルA].終了日, [テーブルA].名前
FROM テーブルA
WHERE ((([テーブルA].終了日)>=#10/1/2005#));

でもOKかもです。
    • good
    • 0

すみません。

#2はちがっています。(;.;)
    • good
    • 0

SQLビューでクエリを作るなら下記をコピーしてください。



SELECT テーブルA.名前, テーブルA.開始日, テーブルA.終了日
FROM テーブルA
WHERE (((テーブルA.開始日)>#2005/10/01#)) OR (((テーブルA.開始日)<#2005/10/31#) AND ((テーブルA.終了日)>#2005/10/31#));

これで抽出できます。
クエリウィザードで作るなら
テーブルAを元にクエリウィザードでクエリを作り開始日の抽出条件に>#2005/10/1#を入れます。
開始日の「または」の欄に<#2005/10/31# 終了日の抽出条件の「または」の欄に>#2005/10/31#を入れればできます。
開始日が2005/10/01より後の人または開始日が2005/10/31より以前で終了日が2005/10/31より後の人 という抽出条件でできます。
    • good
    • 0

>クエリで、「2005/10/01~31まで活動した人」



フィールド:終了日
テーブル:テーブルA
抽出条件: >=#2005/10/01#
または: <=#2005/10/31#

でどうでしょうか?
    • good
    • 0

終了日が11月1日以降の人を抽出すれば、10月31日まで活動した人がピックアップされるのではないでしょうか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!