问题描述
我正在尝试运行一个查询,该查询将返回昨天创建了其第一请购单的所有客户ID。我一直对如何将MIN
函数与HAVING
结合使用感到困惑。
WHERE
子句中的语句可以将日期与昨天进行比较,但是我一直对如何写该日期感到困惑,这表明该公司昨天有FirsT / MINIMUM开始日期。
在下面的示例中添加一些颜色:
SELECT
P.CUSTOMERID,M.CREATEDDATE
FROM
DBO.MATCH M
INNER JOIN
DBO.POSITION P ON M.REQUISIIONID = P.REQUISITIONID
WHERE
DATEADD(d,(DATEDIFF(d,m.CREATEDDATE)),0) = DATEADD(d,GETDATE() - 1)),0)
解决方法
我认为您想成为group by
客户,并使用having
子句进行过滤:
select p.customerid,min(m.createddate) min_createddate
from dbo.match m
inner join dbo.position p on m.requisiionid = p.requisitionid
group by p.customerid
having min(m.createddate) = dateadd(day,-1,convert(date,getdate())