php - mysql 查询是否无法正常工作

标签 php mysql mysqli

在我的查询中我想添加另一个条件

if((select ShowMan from preferences where `UserId`='92') == true )
 then users.gender !='female'

这是我的完整查询

SELECT *
FROM `users`
WHERE users.id != '92' AND

        users.id NOT IN (SELECT matched_user_id
                               FROM `user_matchs`
                               WHERE user_id = '92'
                              )
and
        users.id NOT IN (SELECT user_id
                               FROM `user_matchs`
                               WHERE matched_user_id = '92'
                         AND status = 'friend'
                              ) 

and if((select ShowMan from preferences where `UserId`='92') == true ) 
then users.gender !='female'

我的逻辑是ifuser 92 ShowMan值为true然后添加一个条件users.gender !='female' 如果 ShowMan 值为 false,则添加条件 users.gender !='male'

最佳答案

更改此工作的最后一部分是否有效:

and ((NOT (select ShowMan from preferences where `UserId`='92')) OR (users.gender !='female'))

或完整查询

SELECT 'users'.*
FROM `users`
JOIN preferences ON `UserID` = users.id
WHERE users.id != '92' AND
  users.id NOT IN (SELECT matched_user_id
                   FROM `user_matchs`
                   WHERE user_id = users.id
                  )
AND   users.id NOT IN (SELECT user_id
                   FROM `user_matchs`
                   WHERE matched_user_id = users.id
                   AND status = 'friend'
                  ) 
AND ((NOT `preferences`.`ShowMan`) OR (users.gender !='female'))

关于php - mysql 查询是否无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31288588/

相关文章:

php - $_SERVER ['REQUEST_METHOD' ] 是否仍然可行?

PHP mysql 查询代码不起作用

php - 合并数据并减少表中的行数?

php - CSV格式数据输入mysql带分隔符

来自数据库的 PHP OOP 变量

php - 如何在 PHP 中使用计数?

javascript - 获取级联单选按钮值的值

sql - 如何过滤 mysql 重复的 id 行并检索具有最新时间戳的行?

PHP 5.6、MySQL、SSL 和自签名证书

php - 它没有在答案数据库表中插入questionid