我有一个 SQL 表,其中包含有关项目的一些信息,大致如下表所示。在此表中,一个项目可能有多个实例,因为它有多个任务。每个任务都有一个状态,每个状态都有一个与其相关的 ID。如何编写一个查询来获取项目 1 的所有状态等于打开、关闭、计费或取消的实例?即使项目一没有状态为已取消的实例?
PROJECT NAME|PROJECT ID|TASK|STATUS|status_code
project_1 1 seo open 5
project_1 1 blog closed 0
project_1 1 data billed 2
project_2 2 seo open 5
project_3 3 seo open 5
project_4 4 seo open 5
project_5 5 seo open 5
注意:每个状态都与一个状态 ID 相关联
0 = closed
1 = cancelled
2 = billed
3 = paid
4 = on hold
5 = open
6 = pending
截至目前我的查询看起来像
"SELECT * FROM Table WHERE project_id = 1 AND Status_Code = (0 OR 1 OR 2 OR 3 OR 4 OR 5 OR 6)"
尽管表中存在多个 status_code = 2 0 & 5 实例,但这不会返回任何内容
如果我将查询更改为
SELECT * FROM table WHERE project_id = 1 AND status_code = 2
我确实获得了状态代码 2 的所有实例,但我需要能够检查所有这些实例,并且可能正在查询的项目中不存在实例。
慕桂英3389331
喵喵时光机