2016-06-17 143 views
1

試圖改變下面的代碼允許我使用分鐘在where子句在where子句

SELECT od.personID 
,'Uno' AS [CustomerType] 
FROM dbo.orderDetails od 
WHERE od.orderDate BETWEEN CONVERT(date, '2016-02-01') AND @StartDate 
AND MIN(odd.orderDate) BETWEEN CONVERT(date, '2016-02-01') AND @StartDate) 
GROUP BY personID 
+0

歡呼使用MIN,就是這麼愚蠢的我。它是一個漫長的一天忘記基礎大聲笑 – Faiz

+0

可能重複的[集合函數在SQL WHERE子句](http://stackoverflow.com/questions/6319183/aggregate-function-in-sql-where-clause) – Ako

回答

6

移動MINHAVING部分

SELECT od.personID 
,'Uno' AS [CustomerType] 
FROM dbo.orderDetails od 
WHERE od.orderDate BETWEEN CONVERT(date, '2016-02-01') AND @StartDate  
GROUP BY personID 
HAVING MIN(odd.orderDate) BETWEEN CONVERT(date, '2016-02-01') AND @StartDate 
+0

只是一個快速在具有條款中的陳述意味着該人的第一個訂單日期在該日期之間是正確的?只是澄清 – Faiz

+0

是的,這是正確的。 –

+0

歡呼隊友謝謝:) – Faiz