繁体   English   中英

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

[英]combining two case queries into one

我想进行查询,在该处我首先用列中的日期检查当前日期,然后在此基础上编写案例。 这个查询单独工作正常,但是当我将它们组合在一起时却无法正常工作。 查询是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM