Microsoft Access 掲示板

クエリで 月 氏名(患者_ID)ごとの通院目的(診察、検査、リハビリ)の回数を求める方法

2 コメント
138 views
4 フォロー

お世話になります。
タイトル通り、クエリで 月 氏名(患者_ID)ごとの通院目的(診察、検査、リハビリ)の回数を求めることはできるのでしょうか? 

通院_ID通院日患者_ID患者氏名通院目的_ID通院目的
1R07/02/0501佐藤 太郎1診察
2R07/02/0502斉藤 隆1診察
3R07/02/0503鈴木 次郎2検査
4R07/02/1001佐藤 太郎2検査
5R07/02/1003鈴木 次郎2検査
6R07/02/2001佐藤 太郎1診察
7R07/02/2002斉藤 隆3リハビリ
8R07/02/2003鈴木 次郎3リハビリ
9R07/02/2501佐藤 太郎3リハビリ
10R07/02/2502斉藤 隆3リハビリ
11R07/02/2503鈴木 次郎3リハビリ
12R07/03/0501佐藤 太郎1診察
13R07/03/0502斉藤 隆3リハビリ
14R07/03/0503鈴木 次郎3リハビリ

通院_ID:オートナンバー型
 患者_ID&通院目的_ID:テキスト型
 アクセスのバージョン:2019
下の様な結果を出したいです。

通院年通院月患者_ID患者氏名診察回数検査回数リハビリ回数通院回数
20252月01佐藤 太郎2114
20252月02斉藤 隆123
20252月03鈴木 次郎224

通院年: Format([通院日],"yyyy") 集計:グループ化  抽出条件:2025
通院月: Format([通院日],"m")  集計:グループ化  抽出条件:2
患者ID&患者氏名       集計:グループ化
通院回数: 通院日       集計:カウント
診察回数:? ここの求め方が知りたい
検査回数:?  
リハビリ回数:? 
よろしくお願いいたします。

teltelbozu
作成: 2025/03/06 (木) 00:19:15
最終更新: 2025/03/06 (木) 09:39:29
通報 ...
1

クエリで 月 氏名(患者_ID)ごとの通院目的(診察、検査、リハビリ)の回数を求めることはできるのでしょうか? 

診察回数:? ここの求め方が知りたい
検査回数:?  
リハビリ回数:?

2通りの方法を載せておきます
SQL文中の テーブル名 は実際の名前に変更して下さい

■クロス集計

TRANSFORM Count(1)
SELECT Year(通院日) As 通院年
     , Format$(通院日, 'm\月') As 通院月
     , 患者_ID
     , 患者氏名
     , Count(1) As 通院回数
FROM テーブル名
WHERE Year(通院日) = 2025
  AND Month(通院日) = 2
GROUP BY Year(通院日)
       , Format$(通院日, 'm\月')
       , 患者_ID
       , 患者氏名
ORDER BY 患者_ID
PIVOT 通院目的 & '回数'
   IN ('診察回数', '検査回数', 'リハビリ回数')
;

 
■集計クエリ

SELECT Year(通院日) As 通院年
     , Format$(通院日, 'm\月') As 通院月
     , 患者_ID
     , 患者氏名
     , Sum(IIf(通院目的_ID = 1, 1)) As 診察回数
     , Sum(IIf(通院目的_ID = 2, 1)) As 検査回数
     , Sum(IIf(通院目的_ID = 3, 1)) As リハビリ回数
     , Count(1) As 通院回数
FROM テーブル名
WHERE Year(通院日) = 2025
  AND Month(通院日) = 2
GROUP BY Year(通院日)
       , Format$(通院日, 'm\月')
       , 患者_ID
       , 患者氏名
ORDER BY 患者_ID
;
2
teltelbozu 2025/03/06 (木) 15:44:39 15096@ecd97

ありがとうございました
解決いたしました。