简体   繁体   中英

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:

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.

Hope this work for you. The sqlfiddle is: http://sqlfiddle.com/#!2/e59c5/10

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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