php - mysql if语句true选择更多数据

标签 php mysql sql

我一直在网上浏览 SQL IF 语句,但我似乎无法理解它们。这是我目前拥有的

SELECT * FROM items WHERE location = '$UserHomeTown[0]' OR deliver = '1' OR post = '1'

但是如果deliver = 1我需要选择location1并将其与$UserHomeTown[1]进行比较,

我已经尝试过

SELECT * FROM items WHERE location = '$UserHomeTown[0]' OR post = '1' OR IF(deliver == '1')THEN location1 = '$UserHomeTown[1]' 

但是我运气不好。

我需要的是

  1. 选择 $UserHomeTown[0] 中的所有项目,
  2. 选择帖子设置为 1 的所有项目,
  3. 如果 $UserHomeTown[1] 等于 location1,则选择所有交付设置为 1 的项目

最佳答案

您可以在 WHERE 子句中使用 CASE -

WHERE
location = '$UserHomeTown[0]' OR 
post = '1' OR
  CASE
    WHEN deliver='1' THEN location1='$UserHomeTown[1]'
    ELSE ''
  END

关于php - mysql if语句true选择更多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039709/

相关文章:

php - 从 PHP 访问 CryptGenRandom

php - 获取两个日期之间一定时间内的记录

mysql - 计算两个表上的所有记录,包括没有值的行

php - 如何获取MySQL中特定表的主键 "column name"

mysql - SQL新手需要知道什么是错的

sql - 如何从物理文件更新 CLOB 列?

javascript - 表单提交后隐藏表格内的按钮?

php - 如何在 Laravel 8 中全局定义验证规则?

php - 缓存和未缓存的日志查询

MySQL 忽略具有标准差的异常值