• 締切済み

ACCESSであいまいな条件で抽出をするには

ACCESS初心者です。 よろしくお願いします。すごく簡単な事かもしれませんがどのように抽出したらよいかわかりません。 チェック項目が(1)~(6)まであり、2項目以上該当する場合のカウントをしたいのですが、どのようにクエリで記載したらよいかわかりません。 (1)~(6)までの項目にはそれぞれ基準値があり、基準値を上回っている項目が2項目以上ある人の数をカウントしたいです。 よろしくお願いいたします。

みんなの回答

  • nfushi
  • ベストアンサー率31% (39/122)
回答No.2

情報が少ないのである程度勝手に推測して話を進めます。 まず2つのテーブルを用意します。 項目の基準値を登録するテーブル(基準値テーブル)と入力データを入れるテーブル(入力テーブル)です。 項目 基準値 1 10 2 20 3 30 4 40 5 50 6 60 人 項目 値 taro 1 20 taro 2 10 taro 3 15 taro 4 20 taro 5 30 taro 6 10 jiro 1 15 jiro 2 25 jiro 3 10 jiro 4 10 jiro 5 20 jiro 6 10 上記のようなテーブル構成にすれば下記のようなSQLで基準値を超える項目が2つ以上の人名が得られます。 SELECT T.人 FROM 基準値テーブル M, 入力テーブル T WHERE M.項目 = T.項目 AND M.基準値 < T.値 GROUP BY T.人 HAVING COUNT(*) > 1 話を勝手に補完してますので、全然見当違いでしたらごめんなさい。

回答No.1

賢いやり方考えるのめんどくさいので、 where文以下のように書き込んで抽出してカウント。 (1) and (2) or (1) and (3) or (1) and (4) or (1) and (5) or (1) and (6) or (2) and (3) or (2) and (4) or (2) and (5) or (2) and (6) or.... で、いいんじゃないかと。意味がわからなかったり、SQLがわからないばあいは、すみません。m(_ _)m

tarou12345
質問者

お礼

やっぱりそうですか・・・。 めっちゃ多いですよね、条件が・・・。

関連するQ&A