繁体   English   中英

MySQL基于列值选择查询PHP

[英]mysql select query php based on column value

我有这样的桌子

在此处输入图片说明

我想选择所有没有状态的文档1. select * from tbl where doc_status=1将选择101,102,101 但是在doc_no 101中也有doc-status 0,所以它不会选择。我该怎么做,所需的输出将只有103

您可以使用NOT EXISTS

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_status可以保持0/1值。 如果是这种情况,则无需使用doc_status = 1外部过滤。

或者您可以使用NOT IN

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;

SQL演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM