我已经写了查询,但我想知道使用 groupby 优化它的更好方法
门诊
ID | 处理 | 账单金额 | 访问开始日期 | 访问结束日期 |
---|---|---|---|---|
1 | 一般 | 5000 | 2023-04-17 | 2023-04-18 |
2 | 头部受伤 | 10000 | 2023-03-10 | 2023-03-15 |
3 | 发烧 | 15000 | 2023-03-22 | 2023-03-23 |
4 | 休闲行动 | 3000 | 2023-03-27 | 2023-03-27 |
ID | 处理 | 账单金额 | 入学 | 出院 |
---|---|---|---|---|
1 | 一般治疗 | 3000 | 2023-04-12 | 2023-04-18 |
2 | 头部受伤 | 30000 | 2023-03-09 | 2023-03-17 |
3 | 发烧 | 40000 | 2023-03-12 | 2023-03-24 |
4 | 手术 | 70000 | 2023-03-25 | 2023-03-24 |
跟进电话
ID | 处理 | 访问量 | 跟进 | 日期 |
---|---|---|---|---|
1 | 一般 | 1 | 2023-04-12 | 2023-04-18 |
2 | 头部受伤 | 0 | 2023-03-09 | 2023-03-17 |
3 | 发烧 | 1 | 2023-03-12 | 2023-03-24 |
4 | 手术 | 1 | 2023-03-25 | 2023-03-24 |
SELECT (
SELECT sum(BillAmount)
FROM Outpatient
WHERE VisitStartDate >= '2023-03-01'
AND VisitEndDate <'2023-03-31'
) AS OPBill
, (
SELECT sum(BillAmount)
FROM Inpatient
WHERE AdmittedOn >= '2023-03-01'
AND DischargedOn < '2023-03-31'
) AS IPBill
, (
SELECT COUNT(*)
FROM FollowUpCalls
WHERE [Date] IS NOT NULL
AND Visits BETWEEN '2023-03-01' AND '2023-03-31') AS Fvisits
, (
SELECT COUNT(*)
FROM FollowUpCalls
WHERE [Date] IS NOT NULL
AND FollowUps BETWEEN '2023-03-01' AND '2023-03-31'
AND Visits = 1
AND [Date] IS NOT NULL
) AS FCalls
期望数据按患者 Id 分组
OP比尔 | 知识产权法案 | 访问次数 | F通话 | |
---|---|---|---|---|
一般 | ||||
头部受伤 |