Трудно сказать вам лучшее решение, но - просто чтобы ответить на ваш вопрос - я постараюсь немного его уменьшить, чтобы сделать его более очевидным:
SELECT
[PalletTally Table 2].PartNumber,
--more columns
FROM [PalletTally Table 2]
WHERE
(
Select
(
[PalletTally Table 2].[Pallet 1 Weight] +
[PalletTally Table 2].[Pallet 2 Weight] +
--more of them
) AS PalletWeightTotal
FROM [PalletTally Table 2]
--some joins
WHERE [PalletTally Table 2].[Date] > GETDATE() - 5
)
В основном это означает следующее
SELECT Something
FROM Somewhere
WHERE
(
Select ASumOfManyValues
FROM FromTheSameTable
WHERE SomeCondition is true
)
??????????
Вы говорите двигателю отфильтровать SELECT.Затем вы вычисляете значение - и все ... Это значение - предположительно - должно быть проверено по значению границы, что-то вроде >0
.
Надеюсь, это поможет ...
Подсказка
Я почти уверен, что дизайн вашего стола неправильный.Всякий раз, когда вы чувствуете необходимость имя-номер элементов (что-то вроде pallet1
, pallet2
), это сильный указатель на связанную таблицу сторон.
Если дизайн таблицы находится подпод вашим контролем все будет проще с правильной структурой ...