我正在尝试根据派单日期从工单中提取工单,以查找被忽略的工单。我只需要具有该作业的最新分派日期的工作单,这样我就可以确定自上次分派到该工单以来有多长时间。但是,我不想拉出任何工作订单为空的作业,因为这些作业正在被分派。我尝试了一个ROW_NUMBER语句,然后只拉取最上面的一行,但是我需要空值在列表中首先显示,然后是最新的日期,所以这不起作用。作业的状态也是打开或关闭的,打开的作业是始终为null的作业。以下是我到目前为止拥有的脚本:
SELECT DISTINCT
[O].[Name] AS [Opportunity],
[O].[Office_Location__c] AS [Office],
MAX([WO].[saasdisp__Dispatch_Date__c]) AS [MaxDate]
FROM [Opportunity] AS [O]
JOIN [saasdisp__Work_Order__c] AS [WO] ON ([O].[Name] = [WO].[OppName__c]
AND [O].[Id] = [WO].[Opportunity__c])
WHERE [O].[StageName] = 'In Progress'
GROUP BY [O].[Name],
[O].[Office_Location__c]这就是我所得到的:
Opportunity Office MaxDate
Azad, Fariba LA 2012-11-08 00:00:00.000
Cantrell, Timothy L. LA 2012-11-07 00:00:00.000
Feiner, Jeffrey LA 2012-11-06 00:00:00.000
Greasby, Kat LA 2012-11-06 00:00:00.000这就是我所需要的,除了这些机会实际上有日期为空的未完成工作订单等待发送。
发布于 2012-11-09 06:30:12
将NOT EXISTS检查添加到where子句:
..。
WHERE [O].[StageName] = 'In Progress'
AND NOT EXISTS (
SELECT *
FROM [saasdisp__Work_Order__c] AS [WO2]
WHERE [WO2].[saasdisp__Dispatch_Date__c] IS NULL
AND [O].[Name] = [WO2].[OppName__c]
AND [O].[Id] = [WO2].[Opportunity__c]
)
GROUP BY [O].[Name],
[O].[Office_Location__c]https://stackoverflow.com/questions/13298927
复制相似问题