php - SQL:将 EXISTS() 与其他命令一起使用

标签 php mysql sql

我有以下 SQL 代码:

SELECT m.email
FROM members as m
WHERE exists 
(
select * 
from posts as p
where p.email = m.email
)
order by ads desc

我想在“exists”之前添加另一个语句,这样我就有类似的内容

SELECT m.email
FROM members as m
WHERE 
(m.ads<>0) 
and 
exists 
(
select * 
from posts as p
where p.email = m.email
)
order by ads desc

但是它不起作用,还有 ads<>'0' , ads<>('0') , m.ads<>0等等

为什么你认为它不起作用?

“不起作用”是指当我添加一行“ads<>0”时,查询结果没有变化(就好像我没有输入该行一样)。 如果我添加一行“ads=0” - 它会给出空结果,就好像没有值为零的字段(实际上确实存在)

最佳答案

您应该能够根据需要向 WHERE 语句添加任意数量的逻辑子句。

假设 members.ads 是整数数据类型...

SELECT m.email
FROM members m
WHERE m.ads <> 0
AND EXISTS (
    SELECT 1
    FROM posts p
    WHERE p.email = m.email
)
ORDER BY m.ads DESC

关于php - SQL:将 EXISTS() 与其他命令一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7898050/

相关文章:

php - 如何检查文件是否是php?

javascript - 我想按日期查看数据或按日期选择器过滤数据

mysql 描述表 - 连接字段?

SQL 组按动态列数排序的项目计数

sql - Oracle - WHERE 子句中的列 NUMBER(38) - 数据包含逗号

java - 为什么 Java 中的这个存储过程调用不起作用?

PHP & do/while 循环内存泄漏

php - 如何获取数据库列表?

mysql - mysql这样插入怎么办?另一个字段需要auto_increment id来分割

php - 显示用户表和潜在客户表中的数据