【发布时间】:2021-08-17 07:21:50
【问题描述】:
我正在使用 PostgresSQL 作为 DBMS 和 typeorm 作为 ORM 我需要写一个对我来说有点复杂的查询。 数据库结构如下所示:
Results
| PersonId | Result |
|----------|----------|
| 1 | Rejected |
| 1 | Rejected |
| 1 | Passed |
| 1 | Passed |
| 2 | Rejected |
| 2 | Passed |
| 3 | Rejected |
| 3 | Rejected |
| 3 | Rejected |
| 3 | Rejected |
| 3 | Passed |
OtherTable
| PersonId | OtherColumn |
|----------|-------------|
| 1 | ... |
| 1 | ... |
| 1 | ... |
| 2 | ... |
| 2 | ... |
| 3 | ... |
| 3 | ... |
| 3 | ... |
| 3 | ... |
如何获取每个人的 id 被拒绝和通过的次数?在同一个查询中它们出现在另一个查询中的次数是否可能?
| PersonId | Rejected | Passed | CountFromOtherTable
|----------|----------|--------| -----------------
| 1 | 2 | 2 | 3
| 2 | 1 | 1 | 2
| 3 | 4 | 1 | 3
只是 SQL 查询也不错,我可以尝试翻译它以与 typeorm 一起使用。
【问题讨论】:
-
如果两张桌子有不同的人怎么办?
标签: sql postgresql join count typeorm