SQL Server:返回具有最短日期的客户

SQL Server:返回具有最短日期的客户,sql,sql-server,min,Sql,Sql Server,Min,我正在尝试运行一个查询,该查询将返回昨天创建了第一个请购单的所有客户ID。我一直在想如何使用MIN功能以及have WHERE子句中的语句用于将日期与昨天进行比较,但我一直在纠结于如何编写它,以显示公司昨天有第一个/最小的开始日期 下面是添加一些颜色的示例: SELECT P.CUSTOMERID, M.CREATEDDATE FROM DBO.MATCH M INNER JOIN DBO.POSITION P ON M.REQUISIIONID = P.RE

我正在尝试运行一个查询,该查询将返回昨天创建了第一个请购单的所有客户ID。我一直在想如何使用
MIN
功能以及
have

WHERE
子句中的语句用于将日期与昨天进行比较,但我一直在纠结于如何编写它,以显示公司昨天有第一个/最小的开始日期

下面是添加一些颜色的示例:

SELECT
    P.CUSTOMERID,
    M.CREATEDDATE
FROM 
    DBO.MATCH M
INNER JOIN 
    DBO.POSITION P ON M.REQUISIIONID = P.REQUISITIONID
WHERE
    DATEADD(d, (DATEDIFF(d, 0, m.CREATEDDATE)), 0) = DATEADD(d, (DATEDIFF(d, 0, GETDATE() - 1)), 0)

我认为您需要按客户进行分组,并使用
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())