我有一个类似于下面的表 - OrderStatusId是表上的PK。 StatusId是参考表的FK,包含所有可能的状态。 CustomerId是客户详细信息表的FK
OrderStatusId StatusId CustomerId DateModified
1 1 1 05/09/2017
2 1 1 06/09/2017
3 2 1 07/09/2017
4 1 2 07/09/2017
我想要做的是在下面运行此查询,为状态ID = 1的该客户选择最近的修改日期。但是,如果StatusId =计数大于1,我只想运行此查询1为该客户。因此,在上面的示例表中,我预计06/09/2017将返回CustomerId 1,但不会返回给CustomerId 2.我尝试了计数(*)> 1条款但无法使其正常工作。
SELECT TOP(1) os.DateModified AS LastModifiedDateForm
FROM [myTable].[OrderStatus] os WHERE os.CustomerId = 1 AND os.StatusID = 1
ORDER BY os.DateModified DESC
答案 0 :(得分:4)
你能用MAX而不是前1吗?或者你回来了更多的专栏?
SELECT MAX(os.DateModified) AS LastModifiedDateForm
FROM [myTable].[OrderStatus] os
WHERE os.CustomerId = 1
AND os.StatusID = 1
GROUP BY CustomerId,
StatusId
HAVING COUNT(*) > 1
答案 1 :(得分:1)
也许您是在每个客户的最长日期之后,只有他们有多个日期?
select max(os.DateModified) AS LastModifiedDateForm
from [myTable].[OrderStatus] os
group by os.CustomerId
having count(1) > 1
这只会为当前情况下ID为1的客户提供数据,或者为其他一些样本数据提供超过1行的其他客户ID。
答案 2 :(得分:0)
使用onChange
TypeError: _onChange is not a function
立即为所有客户服务