Accessを使って以下のように業務担当者の集計をしたいのですが、どのように
クエリを作成していけばいいのか、よくわかりません。うまい解決がおわかり
の方、ご教授いただけないでしょうか?
個々の業務は一人か二人の担当者で実施します。業務ごとに主担当者IDと副担
当者IDが記録されていますが、副担当者はつかない場合があります。つまり、
次のような感じです。担当者IDは実際は数字で、別の担当者名簿にリンクして
います。現在はID=1を担当なしにしていますが、そのへんはまだいじれます。
[業務担当]
業務 主 副
1 a b
2 a
3 c
4 c b
5 b a
6 a c
7 a b
8 c
ここで、各担当者が、単独で業務を行なった回数、複数担当での主担当者とし
て行なった回数、副担当者として行なった回数、を集計して以下のような結果
を得たいのです。
担当者 単独 主 副
a 1 3 1
b 0 1 3
c 2 1 1
最初は、単独と複数で別々のクエリで抜き出してから、さらに集計のクエリに
かけるのかなとか考えたのですが、これだけのことにそんなに複雑な処理がい
るとも思えません。何かすっきりした解決がありそうなんですが。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
SELECT t.担当者,
(select count(*) from 業務担当 as g where g.主=t.担当者 and g.副 is null) AS 単独,
(select count(*) from 業務担当 as g where g.主=t.担当者 and g.副 is not null) AS 主,
(select count(*) from 業務担当 as g where g.副=t.担当者) AS 副
FROM 担当者 AS t;
こんなかんじでしょうか?
適切な回答ありがとうございます。またお礼が遅くなって申し訳ありません。
しばらく手元で試せる環境を作れなかったもので。
回答をいただいた結果、うまく集計のクエリを作成することができました。
やはりSQLをちゃんと勉強してこれくらい書けるようにならないといけないですね。
で、本当に申し訳ないのですが、もう一点お尋ねしていいでしょうか。
[業務担当]の表には、実際にはその業務日も含まれています。
業務日の範囲を限定して(例えばyyyy/mm/ddからyyyy/mm/dd)、
同じ集計をするには、この集計クエリで、where の中身をいじればいい
というのはわかるのですが、それだと3箇所に同じ記述が必要になりますよね?
まず、[業務担当]の表の中から、該当日だけを抽出して、それを元に集計するには、
一つのSQLでどう書けばいいのでしょう?
あつかましいお願いですが、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) 日付を重複させずに数えたい 4 2022/12/04 16:26
- 営業・販売・サービス 営業職から営業事務への配置転換を言われてとても複雑な気分です。 アドバイスお願いします。 営業担当を 3 2023/06/20 20:10
- Visual Basic(VBA) VBAで重複データを確認したい 5 2022/10/07 16:24
- 分譲マンション 分譲マンションの初の管理組合の困った点について精神的に来ています。 3 2022/08/05 07:03
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(教育・科学・学問) 大学における新規科目の担当 3 2023/03/15 02:33
- 福祉 就労移行支援など、障碍者就労支援福祉サービスについて 2 2023/05/21 06:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- 会社・職場 アラサー社会人女です。 鬱で三ヶ月繁忙期に休み、来月から以前より希望していた別の部署にて復職予定です 3 2023/06/29 12:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FROM の中で CASE を使えるでし...
-
クエリを使って縦に一行ずつ足...
-
VBA 得意先ごと且つ日付ごとに...
-
accessクロス集計で前月21日~...
-
access 存在しない項目を”0件”...
-
AccessからExcelへエクスポート...
-
複数列フィールド値のクロス集計
-
ACCESSのクエリで集計で、先頭...
-
レポートウィザードの集計のオ...
-
Accessで別テーブルの個数をユ...
-
Accessフォームにクロス集計ク...
-
アクセス レポートのテキスト...
-
「警告 : NULL 値は集計または...
-
クロス集計の結果を元に戻す方法
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
Oracle 2つのDate型の値の差を...
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
ACCESSで400以上のフィールドが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FROM の中で CASE を使えるでし...
-
ACCESSのクエリで集計で、先頭...
-
複数列フィールド値のクロス集計
-
「警告 : NULL 値は集計または...
-
AccessからExcelへエクスポート...
-
access 存在しない項目を”0件”...
-
クロス集計の結果を元に戻す方法
-
桐の集計(集計行設定のこと)...
-
Accessフォームにクロス集計ク...
-
accessクロス集計で前月21日~...
-
アクセスクエリ 締め日毎で絞...
-
VBA 得意先ごと且つ日付ごとに...
-
Access 抽出データ件数のカウン...
-
Accessで年齢から年代ごとの集計
-
アクセス レポートのテキスト...
-
MS-Accessのクロス集計クエリと...
-
SQLのクエリの書き方を教えて下...
-
ACCESS レポートでページごとに...
-
ファイルメーカーでピボットテ...
-
レポートウィザードの集計のオ...
おすすめ情報