Error message is wrong
This SQL produces the following error:
Column 'vProcMgrLineSpeedPerWOID_Sub_Rev.AcualParameterVa lue' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Even though I do have it in the Group By clause.
CREATE PROCEDURE "spDataValidation_LineSpeed_ActualVsReported_LSYie ldMultiplier"
/*
[Forms]![F-DataValidation]!@BeginDate AND [Forms]![F-DataValidation]!@EndDate))
[Enter Percentage Limit]
*/
(
@BeginDate nvarchar(20),
@EndDate nvarchar(20),
@PercentageLimit int
)
AS
SELECT [T_SetupSheetHistoryProduction].WONum,
[T_SetupSheetHistoryProduction].WOIDSub,
[T_SetupSheetHistoryProduction].Revision,
Min([T_SetupSheetHistoryProduction].Date) AS EarliestProd,
[T_SetupSheetHistoryProduction].ComboCustPartNum AS Item,
[T_SetupSheetHistoryCombinationsDetail].ComboLengthActual AS Length,
Sum([T_SetupSheetHistoryProduction].QtyGood) AS TotalGoodQty,
Sum([T_SetupSheetHistoryProduction].TotalRun) AS RunMins,
CONVERT(float,AcualParameterValue) AS LineSpdRprt,
CONVERT(float,AcualParameterValue)*([LSYieldMult]) AS ReportedYld,
(Sum([QtyGood])/Sum([TotalRun])*[ComboLengthActual]) AS CalcLineSpd,
((((CONVERT(float,[AcualParameterValue])*([LSYieldMult]))-((Sum([QtyGood])/Sum([TotalRun]))*[ComboLengthActual]))/(CONVERT(float,[AcualParameterValue]))*100)) AS Diff,
Count([T_SetupSheetHistoryProduction].ProdID) AS Entries
FROM (([T_SetupSheetHistoryProduction]
INNER JOIN [T_SetupSheetHistoryCombinationsDetail]
ON ([T_SetupSheetHistoryProduction].WOIDSub = [T_SetupSheetHistoryCombinationsDetail].WOIDSub)
AND ([T_SetupSheetHistoryProduction].ComboCustPartNum = [T_SetupSheetHistoryCombinationsDetail].ComboCustPartNum)
AND ([T_SetupSheetHistoryProduction].ECN = [T_SetupSheetHistoryCombinationsDetail].ECN)
AND ([T_SetupSheetHistoryProduction].WONum = [T_SetupSheetHistoryCombinationsDetail].WOID)
AND ([T_SetupSheetHistoryProduction].QuoteID = [T_SetupSheetHistoryCombinationsDetail].QuoteID))
INNER JOIN vProcMgrLineSpeedPerWOID_Sub_Rev
ON ([T_SetupSheetHistoryProduction].WOIDSub = vProcMgrLineSpeedPerWOID_Sub_Rev.WOIDSub)
AND ([T_SetupSheetHistoryProduction].Revision = vProcMgrLineSpeedPerWOID_Sub_Rev.Revision)
AND ([T_SetupSheetHistoryProduction].ECN = vProcMgrLineSpeedPerWOID_Sub_Rev.ECN)
AND ([T_SetupSheetHistoryProduction].QuoteID = vProcMgrLineSpeedPerWOID_Sub_Rev.QuoteID)
AND ([T_SetupSheetHistoryProduction].WONum = vProcMgrLineSpeedPerWOID_Sub_Rev.WOID))
INNER JOIN [T_SetupSheetHistoryHeader]
ON ([T_SetupSheetHistoryProduction].Revision = [T_SetupSheetHistoryHeader].Revision)
AND ([T_SetupSheetHistoryProduction].ECN = [T_SetupSheetHistoryHeader].ECN)
AND ([T_SetupSheetHistoryProduction].WOIDSub = [T_SetupSheetHistoryHeader].WOIDSub)
AND ([T_SetupSheetHistoryProduction].WONum = [T_SetupSheetHistoryHeader].WOID)
AND ([T_SetupSheetHistoryProduction].QuoteID = [T_SetupSheetHistoryHeader].QuoteID)
WHERE (((vProcMgrLineSpeedPerWOID_Sub_Rev.AcualParameter Value) Is Not Null)
AND (([T_SetupSheetHistoryProduction].Date) Between @BeginDate AND @EndDate))
GROUP BY [T_SetupSheetHistoryProduction].WONum,
[T_SetupSheetHistoryProduction].WOIDSub,
[T_SetupSheetHistoryProduction].Revision,
[T_SetupSheetHistoryProduction].ComboCustPartNum,
[T_SetupSheetHistoryCombinationsDetail].ComboLengthActual,
CONVERT(float,AcualParameterValue),
CONVERT(float,AcualParameterValue)*([LSYieldMult])
HAVING Sum([T_SetupSheetHistoryProduction].QtyGood)>0
AND Sum([T_SetupSheetHistoryProduction].QtyGood) Is Not Null
AND Sum([T_SetupSheetHistoryProduction].TotalRun)>0
AND Sum([T_SetupSheetHistoryProduction].TotalRun) Is Not Null
AND ((Abs(CONVERT(float,(((CONVERT(float,[AcualParameterValue])*([LSYieldMult]))-((Sum([QtyGood])/Sum([TotalRun]))*[ComboLengthActual]))/(CONVERT(float,[AcualParameterValue]))*100))))>CONVERT(float,@PercentageLimit))
__________________
Mitch
|