mysql - 根据mysql查询中的列值过滤行

标签 mysql sql

这是我的mysql查询

SELECT a.model_name, 
       IF( b.officially_released_year = '".$currentyear."',1,0 ) AS release_year, 
       IF( b.officially_released_month = '".$first_month."' OR b.officially_released_month = '".$second_month."' OR b.officially_released_month = '".$third_month."' OR b.officially_released_month = '".$currentmonth."' ,1,0) AS release_month 
FROM ".TBL_CAR_ADD_MODELS." a, ".TBL_CAR_SPEC_GENERAL." b 
WHERE a.model_id = b.model_id AND a.model_status = '1' 
ORDER BY a.model_created_on DESC

我想在此查询中再做一个过滤选项。我需要根据 release_year = 1 & release_year = 1 获取记录。我在 MYSQL QUERY 中通过 IF STATEMENT 完成了 release_year 和 release_month 列

发布年份

IF( b.officially_released_year = '".$currentyear."',1,0 ) AS release_year

发布月份

IF( b.officially_released_month = '".$first_month."' OR b.officially_released_month = '".$second_month."' OR b.officially_released_month = '".$third_month."' OR b.officially_released_month = '".$currentmonth."' ,1,0) AS release_month

如何在此查询中根据这些值 (release_month = 1 & release_year = 1) 获取记录?我试过 WHERE release_month = 1 AND release_year = 1 但这个返回未知列

最佳答案

你可以这样做:

SELECT
    *
FROM
(
SELECT 
    a.model_name,
    a.model_created_on, 
    IF( b.officially_released_year = '".$currentyear."',1,0 ) AS release_year, 
    IF( b.officially_released_month = '".$first_month."' OR b.officially_released_month = '".$second_month."' OR b.officially_released_month = '".$third_month."' OR b.officially_released_month = '".$currentmonth."' ,1,0) AS release_month 
FROM ".TBL_CAR_ADD_MODELS." a, ".TBL_CAR_SPEC_GENERAL." b 
WHERE a.model_id = b.model_id AND a.model_status = '1' 

) AS tbl
WHERE tbl.release_year=1 AND release_month=1
ORDER BY tbl.model_created_on DESC

关于mysql - 根据mysql查询中的列值过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25160875/

相关文章:

php - 如何通过sql在数据库表中插入多个变量?

mysql - 比较不同的行并得出结果

mysql - 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 '-db' 附近使用的正确语法

mysql - SQL - 存储过程的结果

mysql - 在亚马逊上; Ubuntu;无法使用 crontab 重启 mysql

asp.net - 数据库设计和参照完整性

php - 在 NOW() 的一周内从数据库中获取行

MySQL 查询 : How to show all number and sum it

php - 加载数据 INFILE 错误

mysql - SQL查询中的Excel日期参数