【发布时间】:2016-09-07 05:13:26
【问题描述】:
我需要一个只显示未来日期的函数。
问题是这样的“选择从今天起提前预约的患者。”
我现在的选择代码是这样的:
select Patients_code
, max(Date)
from Patients
, GPS
group
by Patients_code
having max(Date) > '2016-05-11';
GPS 是预定时间,其中 Date 是。 此外,还有一些预订仍在 2016 年,但一个月后我得到的答案只有 2017 年的日期。
有什么建议吗?
【问题讨论】:
-
如果您愿意,请考虑遵循以下简单的两步操作: 1. 如果您还没有这样做,请提供适当的 CREATE 和 INSERT 语句(和/或 sqlfiddle),以便我们可以更容易复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
-
Patients和GPS有没有关系列,比如PatientId? -
是的。
Patients_code是PatientId。Patients是表格。还GPS.PK将是GPS预订表中的Patients_code。预订日期也在GPS.Date。希望这是您所要求的。 -
嗯,问题 1 我马上就知道你正在使用
MAX(Date)。MAX()是一个聚合,它将使得只有该列的最大值会显示在每行的结果中。你会想把它放在WHERE中,并像SELECT * FROM Patients WHERE Date > NOW()一样摆脱HAVING,但我可能会离开,用@Strawberry 建议的一些示例表和数据更新你的问题,我们可以帮助你更好。