SELECT
doctors. fullname,
dutyroster.date,
dutyroster.time
FROM
dutyroster
INNER JOIN doctors ON doctors.docid = dutyroster.docid
WHERE doctors.docid = $doc_id AND
dutyroster.date = DATE(NOW()) AND DATE(NOW())+ INTERVAL 1 DAY
ORDER BY dutyroster.`date` ASC";
此查询用于从名为dutyroster的表中查找特定的医生信息。我想获取当天和tommrow的文档信息..但这不起作用。
并且我做了第二个也没有工作,因为它返回当前的一个,所有下一个日期也
SELECT
doctors. fullname,
dutyroster.date,
dutyroster.time
FROM
dutyroster
INNER JOIN doctors ON doctors.docid = dutyroster.docid
WHERE doctors.docid = $doc_id AND
DATE_SUB(CURDATE(),INTERVAL 2 DAY) <= dutyroster.date
ORDER BY dutyroster.`date` ASC"
答案 0 :(得分:1)
而不是
... AND dutyroster.date = DATE(NOW()) AND DATE(NOW())+ INTERVAL 1 DAY
试
... AND (dutyroster.date = CURDATE() OR
dutyroster.date = CURDATE() + INTERVAL 1 DAY))
或以更简洁的方式,正如@MarcM建议的那样
... AND dutyroster.date IN (CURDATE(), CURDATE() + INTERVAL 1 day)
答案 1 :(得分:0)
从您的第一次尝试开始,您几乎看起来正在尝试编写COBOL! 此外,为了将来参考“这不起作用”不是一个有用的评论。你应该说实际发生了什么。
无论如何,请尝试将where子句更改为:
在哪里,doctor.docid = $ doc_id AND (dutyroster.date = CURRENT_DATE或dutyroster.date = CURRENT_DATE + INTERVAL 1天)
或:
在哪里,doctor.docid = $ doc_id AND dutyroster.date IN(CURRENT_DATE,CURRENT_DATE + INTERVAL 1天))