我想從兩個表中生成每日報告
表 1:opd
CREATE TABLE `opd` (
`id` int(50) NOT NULL,
`Date` date NOT NULL,
`time` time NOT NULL,
`opd_no` varchar(150) NOT NULL,
`patientid` varchar(150) DEFAULT NULL,
`name` varchar(150) NOT NULL,
);
表結構
| ID | 日期 | 時間 | opd_no | 患者編號 | 姓名 |
|---|---|---|---|---|---|
| 1 | 2022-03-02 | 18:30:10 | OPD/2122/1 | PT01 | 西巴 |
| 2 | 2022-03-03 | 18:30:10 | OPD/2122/2 | PT02 | 德巴 |
| 3 | 2022-03-04 | 18:30:10 | OPD/2122/3 | PT03 | 哈里斯 |
| 4 | 2022-03-04 | 18:31:10 | OPD/2122/4 | PT04 | 陶醉 |
表 2:ipd_pn
CREATE TABLE `ipd_pn` (
`id` int(11) NOT NULL,
`ipd_no` varchar(40) DEFAULT NULL,
`patientid` varchar(170) NOT NULL,
`reg_date` date DEFAULT NULL,
`time` time DEFAULT NULL,
`opd` varchar(40) DEFAULT NULL,
`date` date DEFAULT NULL,
)
表結構
| ID | IPD_no | 患者編號 | 注冊日期 | 時間 | opd_no | 日期 |
|---|---|---|---|---|---|---|
| 1 | IPD/2122/1 | PT01 | 2022-03-02 | 15:40:10 | OPD/2122/1 | 2022-03-02 |
| 2 | IPD/2122/2 | PT03 | 2022-03-04 | 16:35:10 | OPD/2122/3 | 2022-03-03 |
| 3 | IPD/2122/3 | PT02 | 2022-03-03 | 15:45:10 | OPD/2122/2 | 2022-03-03 |
T 嘗試每天生成以下查詢生成的 opdno 數量
SELECT DATE(Date) AS date, COUNT(opdno) AS total_opd
FROM opd
WHERE (date BETWEEN '2022-02-1' AND '2022-03-28')
GROUP BY Date
得到如下輸出
| 日期 | 總運算元 |
|---|---|
| 2022-03-02 | 1 |
| 2022-03-03 | 1 |
| 2022-03-04 | 2 |
但我無法生成在此日期期間生成了多少 ipd no。
請幫忙。
我想要一個像下面這樣的報告
| 日期 | 總運算元 | total_ipd |
|---|---|---|
| 2022-03-02 | 1 | 1 |
| 2022-03-03 | 1 | 1 |
| 2022-03-04 | 2 | 1 |
我試過加入查詢,即
SELECT DATE(Date) AS date, COUNT(opdno) AS total_opd
FROM opd 0
INNER JOIN ipd_pn i ON o.Date = i.date
WHERE (date BETWEEN '2022-02-1' AND '2022-02-28')
GROUP BY Date
但這會產生日期歧義錯誤。
因此,請嘗試幫助我如何從這兩個表中生成報告。
uj5u.com熱心網友回復:
您可以嘗試使用UNION ALL在子查詢中組合兩個表,然后使用標志列來表示來自opd或ipd_pn
SELECT date,
SUM(flag = 1) total_opd,
SUM(flag = 2) total_ipd
FROM (
SELECT DATE(Date) AS date, 1 flag
FROM opd
UNION ALL
SELECT Reg_date,2
FROM ipd_pn
) t1
WHERE date between '2022-02-1' and '2022-03-28'
GROUP BY Date
sqlfiddle
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/438129.html
上一篇:如何通過ajax將表單中的值發送到資料庫并回傳到頁面?
下一篇:SQL聯合和加入
