Ошибка SQL-запроса: выражение не булевого типа, указанное в контексте, где ожидается условие, рядом с ')' - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь сделать запрос из 2 таблиц и вычислить значение.Я делаю это в индуктивной автоматизации зажигания, используя свои инструменты запросов.Затем, используя это значение, я хочу сделать 2 вычисления.В конце концов я понял, что мне нужен вложенный запрос, и я верю, что я близок, но я получаю ошибку в названии.

SELECT

[PalletTally Table 2].PartNumber,

[PalletTally Table 2].ChosenWeight,

[PalletTally Table 2].[Line Speed],

[PalletTally Table 2].PalletCount,

([PalletTally Table 2].[ChosenWeight]*[Part Pallet Info Table].[CUT 
LENGTH]/12*[Part Pallet Info Table].[PIECES PER BALE]+[Part Pallet Info 
Table].[TARE WT]) AS CalcPalletWeight,

(TotalPalletWeight / (1  + (CalcPalletWeight * PalletCount)) * [Line Speed]  
* 12 / 60) AS [Lbs./Hr.]

FROM [PalletTally Table 2]
WHERE 

(

Select




([PalletTally Table 2].[Pallet 1 Weight] +
[PalletTally Table 2].[Pallet 2 Weight] +
[PalletTally Table 2].[Pallet 3 Weight] +
[PalletTally Table 2].[Pallet 4 Weight] +
[PalletTally Table 2].[Pallet 5 Weight] +
[PalletTally Table 2].[Pallet 7 Weight] +
[PalletTally Table 2].[Pallet 6 Weight] +
[PalletTally Table 2].[Pallet 8 Weight] +
[PalletTally Table 2].[Pallet 9 Weight] +
[PalletTally Table 2].[Pallet 10 Weight] +
[PalletTally Table 2].[Pallet 11 Weight] +
[PalletTally Table 2].[Pallet 12 Weight] +
[PalletTally Table 2].[Pallet 13 Weight] +
[PalletTally Table 2].[Pallet 14 Weight] +
[PalletTally Table 2].[Pallet 15 Weight] +
[PalletTally Table 2].[Pallet 16 Weight] +
[PalletTally Table 2].[Pallet 17 Weight] +
[PalletTally Table 2].[Pallet 18 Weight] +
[PalletTally Table 2].[Pallet 19 Weight] +
[PalletTally Table 2].[Pallet 20 Weight] +
[PalletTally Table 2].[Pallet 21 Weight] +
[PalletTally Table 2].[Pallet 22 Weight] +
[PalletTally Table 2].[Pallet 23 Weight] +
[PalletTally Table 2].[Pallet 24 Weight] +
[PalletTally Table 2].[Pallet 25 Weight] +
[PalletTally Table 2].[Pallet 26 Weight] +
[PalletTally Table 2].[Pallet 27 Weight] +
[PalletTally Table 2].[Pallet 28 Weight] +
[PalletTally Table 2].[Pallet 30 Weight] +
[PalletTally Table 2].[Pallet 31 Weight] +
[PalletTally Table 2].[Pallet 29 Weight] +
[PalletTally Table 2].[Pallet 32 Weight] +
[PalletTally Table 2].[Pallet 33 Weight] +
[PalletTally Table 2].[Pallet 34 Weight] +
[PalletTally Table 2].[Pallet 35 Weight] +
[PalletTally Table 2].[Pallet 36 Weight] +
[PalletTally Table 2].[Pallet 37 Weight] +
[PalletTally Table 2].[Pallet 39 Weight] +
[PalletTally Table 2].[Pallet 40 Weight] +
[PalletTally Table 2].[Pallet 38 Weight] +
[PalletTally Table 2].[Pallet 41 Weight] +
[PalletTally Table 2].[Pallet 43 Weight] +
[PalletTally Table 2].[Pallet 42 Weight] +
[PalletTally Table 2].[Pallet 44 Weight] +
[PalletTally Table 2].[Pallet 45 Weight] +
[PalletTally Table 2].[Pallet 46 Weight] +
[PalletTally Table 2].[Pallet 47 Weight] +
[PalletTally Table 2].[Pallet 48 Weight] +
[PalletTally Table 2].[Pallet 49 Weight] +
[PalletTally Table 2].[Pallet 50 Weight] +
[PalletTally Table 2].[Pallet 51 Weight] +
[PalletTally Table 2].[Pallet 52 Weight] +
[PalletTally Table 2].[Pallet 53 Weight] +
[PalletTally Table 2].[Pallet 54 Weight] +
[PalletTally Table 2].[Pallet 55 Weight] +
[PalletTally Table 2].[Pallet 56 Weight] +
[PalletTally Table 2].[Pallet 57 Weight] +
[PalletTally Table 2].[Pallet 58 Weight] +
[PalletTally Table 2].[Pallet 59 Weight] +
[PalletTally Table 2].[Pallet 60 Weight] +
[PalletTally Table 2].[Pallet 61 Weight]) 

AS PalletWeightTotal

FROM [PalletTally Table 2]
  INNER JOIN [Part Pallet Info Table] ON [Part Pallet Info Table].[PART 
NUMBER]
= [PalletTally Table 2].PartNumber

WHERE [PalletTally Table 2].[Date] > GETDATE() - 5

)

Я новичок в разработке SQL (промышленный инженер, который изучает).это на ходу) так что любая информация, которую я полностью упускаю, дайте мне знать.

Заранее спасибо.

1 Ответ

0 голосов
/ 10 октября 2018

Трудно сказать вам лучшее решение, но - просто чтобы ответить на ваш вопрос - я постараюсь немного его уменьшить, чтобы сделать его более очевидным:

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), это сильный указатель на связанную таблицу сторон.

Если дизайн таблицы находится подпод вашим контролем все будет проще с правильной структурой ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...