mysql基于列值选择查询php
我有一张这样的桌子 我想选择状态为1的所有单据编号。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
从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为空