Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql基于列值选择查询php_Php_Mysql - Fatal编程技术网

mysql基于列值选择查询php

mysql基于列值选择查询php,php,mysql,Php,Mysql,我有一张这样的桌子 我想选择状态为1的所有单据编号。 从tbl中选择*,其中doc_status=1将选择101102101。但是在fordoc\u no 101中,也有doc status 0,因此它不会选择。我如何才能做到这一点,所需的输出将是 103仅您可以使用不存在 SELECT DISTINCT T.doc_no FROM tbl T WHERE NOT EXISTS ( SELECT 1 FROM tbl TT WHERE TT.doc_status = 0 AND

我有一张这样的桌子

我想选择状态为1的所有单据编号。
从tbl中选择*,其中doc_status=1
将选择101102101。但是在fordoc\u no 101中,也有doc status 0,因此它不会选择。我如何才能做到这一点,所需的输出将是
103仅

您可以使用
不存在

SELECT 
DISTINCT T.doc_no
FROM tbl T
WHERE NOT EXISTS 
(
 SELECT 
 1
 FROM tbl TT
 WHERE TT.doc_status = 0
 AND TT.doc_no = T.doc_no
)

注意:我想
doc\u status
可以保存值
0/1
。如果是这种情况,则无需使用
doc\u status=1
外部进行过滤

您可以在

SELECT 
 DISTINCT T.doc_no
FROM tbl T
WHERE T.doc_no NOT IN
(
 SELECT 
    TT.doc_no
 FROM tbl TT
 WHERE TT.doc_status = 0
)
试一试

SELECT * FROM test GROUP BY doc_no HAVING MIN(doc_status) = 1;

请试试这个。选择*from tbl where doc_status='1'doc_status的数据类型选择x.*从my_表x左键在y.doc_no=x.doc_no和y.status 1上连接my_表y,其中x.status=1,y.id为空