【发布时间】:2021-06-12 15:50:28
【问题描述】:
我有一张类似这样的桌子:
| first | last | date | pos |
|---|---|---|---|
| john | doe | 18-03-2021 | |
| harris | potter | 10-06-2021 | |
| john | doe | 10-05-2021 | |
| harris | potter | 14-06-2021 | |
| jessica | potter | 14-06-2021 | |
| kermit | foster |
用例如下:
- pos 列对应于阳性 covid 测试
- 日期栏对应疫苗接种日期
要获得 covid 证书,某人必须:
- 检测呈阳性并接种了 1 种疫苗
- 已接种 2 次疫苗
我正在尝试编写一个返回我的查询: 总剂量,总要求剂量
例如:
- 如果他的检测结果呈阳性,则 totalRequiredDose 为 1,如果他接种了 1 次疫苗,则他符合资格。因此,对于哈利波特,totalDoses=1 和 totalRequieredDoses=1 是符合条件的
- 如果他没有被检测出阳性,totalRequiredDose 是 2,如果他接种了 2 次疫苗,他是合格的。因此,对于 John Doe,totalDoses=2 和 totalRequieredDoses=2 是符合条件的
| first | last | totalDoses | totalRequieredDoses |
|---|---|---|---|
| john | doe | 2 | 2 |
| harris | potter | 1 | 1 |
| jessica | potter | 1 | 2 |
| kermit | foster | 0 | 2 |
由于 Jessica Potter 接种了疫苗并且没有邮寄日期,因此她必须接种 2 次疫苗。 所以值 1/2 而 Kermit Foster 没有 pos 值,他是 0/2 等等。
我正在挠头写一个查询(或 pl/sql),它可以返回给我这样的表。
有人可以给我一些提示吗?
【问题讨论】:
-
你的第二个例子似乎是关于错误的人。这让读者有点困惑
-
@Serg 我已经更正了。感谢您的反馈
标签: sql postgresql postgres-12