mysql - 将两个案例查询合并为一个

标签 mysql sql

我想进行一个查询,首先在其中检查当前日期与列中的日期,然后根据我正在编写的案例。这个查询单独工作正常但是当 我正在将它们结合起来,但它不起作用。 查询是

SELECT MONTH(CURRENT_DATE)= SUBSTRING(yearmonth,6) FROM dp;

SELECT i, 
CASE 
WHEN DAY(CURRENT_DATE) =1 THEN `d1_v` 
WHEN DAY(CURRENT_DATE) =2 THEN `d1_v` 
END VALUE 
FROM dp;

组合查询..

SELECT i, 
CASE 
WHEN((MONTH(CURRENT_DATE ))= SUBSTRING(yearmonth,6) THEN 
(CASE
         WHEN DAY(CURRENT_DATE) = 1 THEN `d1_v`
            WHEN DAY(CURRENT_DATE) = 2 THEN `d1_v`
         END VALUE)END)Y
                  FROM dp

请指导我

最佳答案

您必须删除 THEN 之后的“(”:

SELECT i, 
CASE 
WHEN ((MONTH(CURRENT_DATE )) = SUBSTRING(yearmonth,6))THEN 
  CASE
      WHEN DAY(CURRENT_DATE) = 1 THEN `day1_value`
      WHEN DAY(CURRENT_DATE) = 2 THEN `day1_value`
  END 
END Y
FROM dp;

sqlfiddle 的输出现在是 5,null。

希望这对您有用。 sqlfiddle 是:http://sqlfiddle.com/#!2/e59c5/10

关于mysql - 将两个案例查询合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23848395/

相关文章:

php - 如果用户名已注册,如何抛出错误消息

mysql - 如何在每个 100 行范围内进行 100 万次最大计算,并将结果写入新列?

MySQL触发if-else插入更新

php - MySql 错误 : cannot connect to local MySql server through socket '/var/run/mysqld/mysqld.sock' (2), 而其他页面连接正确

MySQL - 比较两个负时间值

jquery - JQuery 中的简单 SQL 查询生成器

sql - SQL触发器存储过程编译错误

SQL:如何使用SQL逻辑创建基于不同时间间隔的每日 View ?

MySQL,从一张表中加入两行并忽略双胞胎

php - 每次加载页面时是否运行这些 mysql 查询中的每一个?