简体   繁体   English

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

[英]combining two case queries into one

I want to make a query where where i first check the current date with the date in a column and then base on that I am writing my case. 我想进行查询,在该处我首先用列中的日期检查当前日期,然后在此基础上编写案例。 this query is working fine individually but when i am combining them its not working. 这个查询单独工作正常,但是当我将它们组合在一起时却无法正常工作。 The queires are 查询是

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;

combined query.. 组合查询

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

please guide me 请指导我

You've to delete the '(' after the THEN: 您必须在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;

The output from the sqlfiddle is 5,null right now. sqlfiddle的输出现在为5,null。

Hope this work for you. 希望这项工作对您有用。 The sqlfiddle is: http://sqlfiddle.com/#!2/e59c5/10 sqlfiddle是: http ://sqlfiddle.com/#!2/e59c5/10

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

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