Php 是否有一种方法可以根据可以等于多个值的列的值从sql表中检索数据?

Php 是否有一种方法可以根据可以等于多个值的列的值从sql表中检索数据?,php,mysql,sql,mariadb,Php,Mysql,Sql,Mariadb,我有一个SQL表,其中包含一些关于项目的信息,大致如下表所示。在此表中,一个项目可能有多个实例,因为它有多个任务。每个任务都有一个状态,每个状态都有一个与其相关的id。如何编写一个查询,以获取状态为“打开”、“关闭”、“计费”或“取消”的project 1的所有实例?即使没有状态为“已取消”的project one实例 PROJECT NAME|PROJECT ID|TASK|STATUS|status_code project_1 1 seo open

我有一个SQL表,其中包含一些关于项目的信息,大致如下表所示。在此表中,一个项目可能有多个实例,因为它有多个任务。每个任务都有一个状态,每个状态都有一个与其相关的id。如何编写一个查询,以获取状态为“打开”、“关闭”、“计费”或“取消”的project 1的所有实例?即使没有状态为“已取消”的project one实例

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的所有实例,但我需要能够检查所有这些实例,并且可能有一个实例不存在于所查询的项目中。

试试这个

SELECT * FROM Table 
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)
另外,您可能希望过滤掉重复的,所以

SELECT DISTINCT [PROJECT NAME], [PROJECT ID]
FROM Table 
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)
试试这个

SELECT * FROM Table 
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)
另外,您可能希望过滤掉重复的,所以

SELECT DISTINCT [PROJECT NAME], [PROJECT ID]
FROM Table 
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)

首先,如果这是一个任务表,为什么没有任务id

如果我对问题理解正确,那么
分组依据
区分

SELECT project_id, task, status FROM Table WHERE project_id = 1 AND Status_Code IN (0,1,2,3,4,5,6)
GROUP BY
project_id, task, status
它将返回所有3列的每个不同值
uainv distinct不带group by,将返回相同的

首先,如果这是一个任务表,为什么没有任务id

如果我对问题理解正确,那么
分组依据
区分

SELECT project_id, task, status FROM Table WHERE project_id = 1 AND Status_Code IN (0,1,2,3,4,5,6)
GROUP BY
project_id, task, status
它将返回所有3列的每个不同值 不带group by的uainv distinct将返回相同的