当我在哪里不工作时使用date_add,为什么?

问题描述:

SELECT * 
FROM PATIENT 
WHERE PATIENTNUM = (SELECT PATIENTNUM 
        FROM CONSULTATION 
        WHERE CONSULTATIONDATE = 
        (SELECT DATE_ADD(curdate(), INTERVAL 1 DAY) AS DAYTOM); 

这是行不通的。当我在哪里不工作时使用date_add,为什么?

但是,当我只插入这个

SELECT DATE_ADD(curdate(), INTERVAL 1 DAY) AS DAYTOM 

其工作...

为什么?

+0

它不工作意味着什么?什么不工作? – 2014-10-18 07:15:24

+0

什么是错误显示 – Girish 2014-10-18 07:18:28

+0

#1064 - 第6行的语法错误 – youngji 2014-10-18 07:20:34

我认为正确的做法是

SELECT * 
    FROM PATIENT 
    WHERE PATIENTNUM IN (SELECT PATIENTNUM 
       FROM CONSULTATION 
       WHERE CONSULTATIONDATE IN (SELECT DATE_ADD(curdate(), INTERVAL 1 DAY)    AS DAYTOM)); 

您错过了一个支架?

SELECT * 
FROM PATIENT 
WHERE PATIENTNUM = (SELECT PATIENTNUM 
        FROM CONSULTATION 
        WHERE CONSULTATIONDATE = (SELECT DATE_ADD(curdate(), INTERVAL 1 DAY) AS DAYTOM));