【发布时间】:2021-05-16 00:58:51
【问题描述】:
在我的 Android 应用中,我使用的是 Room 持久性库。在其中一张表(房间实体)中。
考虑下表。
| S_ID | STATUS |
|---|---|
| 1 | Pending |
| 1 | Rejected |
| 3 | Approved |
| 4 | Approved |
| 5 | Pending |
| 6 | Rejected |
| 7 | Rejected |
| 8 | Approved |
| 9 | Rejected |
SQL 子查询的预期结果,如果它的 S_ID 与另一个“待定”状态记录冲突,我希望从结果中删除具有“Rejected'”状态的记录。这是在我之前的问题中排序的:
link here
| S_ID | STATUS |
|---|---|
| 1 | Pending |
| 3 | Approved |
| 4 | Approved |
| 5 | Pending |
| 6 | Rejected |
| 7 | Rejected |
| 8 | Approved |
| 9 | Rejected |
现在,外部查询应该给出以下结果,记录只有 'Rejected' 状态。
| S_ID | STATUS |
|---|---|
| 6 | Rejected |
| 7 | Rejected |
| 9 | Rejected |
需要此结果来满足我需要根据用户选择的“状态”显示记录的用例。例如,如果用户选择“已批准”,则应用程序将显示所有“已批准”记录。但是在“拒绝”的情况下,我需要显示所有被拒绝的记录,除了那些 s_id 与“待定”冲突的记录。另外,我还想要统计这些记录。
【问题讨论】:
-
请解释结果的逻辑。
-
@GordonLinoff,我已经编辑了我的问题,解释了结果的用例。