我正在使用 SQL Server 2005,使用 Web Developer 2010 进行查询,并且 min 函数似乎返回了多个值(对于返回的每个 ID,请参见下文)。理想情况下,我希望它只为每个 ID 返回一个。
SELECT Production.WorksOrderOperations.WorksOrderNumber,
MIN(Production.WorksOrderOperations.OperationNumber) AS Expr1,
Production.Resources.ResourceCode,
Production.Resources.ResourceDescription,
Production.WorksOrderExcel_ExcelExport_View.PartNumber,
Production.WorksOrderOperations.PlannedQuantity,
Production.WorksOrderOperations.PlannedSetTime,
Production.WorksOrderOperations.PlannedRunTime
FROM Production.WorksOrderOperations
INNER JOIN Production.Resources
ON Production.WorksOrderOperations.ResourceID = Production.Resources.ResourceID
INNER JOIN Production.WorksOrderExcel_ExcelExport_View
ON Production.WorksOrderOperations.WorksOrderNumber = Production.WorksOrderExcel_ExcelExport_View.WorksOrderNumber
WHERE Production.WorksOrderOperations.WorksOrderNumber IN
( SELECT WorksOrderNumber
FROM Production.WorksOrderExcel_ExcelExport_View AS WorksOrderExcel_ExcelExport_View_1
WHERE (WorksOrderSuffixStatus = 'Proposed'))
AND Production.Resources.ResourceCode IN ('1303', '1604')
GROUP BY Production.WorksOrderOperations.WorksOrderNumber,
Production.Resources.ResourceCode,
Production.Resources.ResourceDescription,
Production.WorksOrderExcel_ExcelExport_View.PartNumber,
Production.WorksOrderOperations.PlannedQuantity,
Production.WorksOrderOperations.PlannedSetTime,
Production.WorksOrderOperations.PlannedRunTime
如果您能理解它,我将从多个表中选择某些列,其中 WorksOrderNumber 也包含在子查询中,以及许多其他条件。
结果集看起来有点像这样,已经模糊了不相关的数据。
http://i.stack.imgur.com/5UFIp.png(不会让我嵌入图像)。
突出显示的行不应该在那里,我不能明确地将它们过滤掉,因为这个结果集将每天更新,并且很可能发生在不同的记录中。
我尝试将 OperationNumber 转换并转换为许多其他数据类型,varchar 类型返回“100”而不是“30”。也试过搜索搜索引擎,似乎没有人有同样的问题。
我没有构造表格(它们被可怕地标准化),并且不可能重新构造它们。
任何想法表示赞赏,非常感谢。