Member 14640212 Ответов: 1

Объединение двух запросов в одну таблицу и вычитание значений


мне нужно поместить эти два выходных значения (Add_sum и Minus_sum) в одну таблицу и вычесть их (Add_sum - Minus-sum) и показать это значение




SELECT        I.ItemCode, COUNT(H.TransactionTypeID) AS ADD_Sum
FROM            inMoveHd AS H INNER JOIN
                         inMoveLn AS L ON L.InvMoveID = H.InvMoveID INNER JOIN
                         inItem AS I ON I.ItemID = L.ItemID INNER JOIN
                         inTransactionType AS T ON H.TransactionTypeID = T.TransactionTypeID
WHERE        (T.TransactionSign = 1)
GROUP BY I.ItemCode'

'

SELECT        I.ItemCode, COUNT(H.TransactionTypeID) AS Minus_Sum
FROM            inMoveHd AS H INNER JOIN
                         inMoveLn AS L ON L.InvMoveID = H.InvMoveID INNER JOIN
                         inItem AS I ON I.ItemID = L.ItemID INNER JOIN
                         inTransactionType AS T ON H.TransactionTypeID = T.TransactionTypeID
WHERE        (T.TransactionSign = -1)
GROUP BY I.ItemCode'
<pre>


Что я уже пробовал:

I tried many other options , subqueries etc but could not get it to work

1 Ответов

Рейтинг:
5

Member 14640212

о'кей , я все понял

SELECT  I.ItemCode,
        COUNT(case when T.TransactionSign = 1 then H.TransactionTypeID end) AS ADD_Sum,
        COUNT(case when T.TransactionSign = -1 then H.TransactionTypeID end) AS Minus_Sum
FROM      inMoveHd AS H INNER JOIN
                   inMoveLn AS L ON L.InvMoveID = H.InvMoveID INNER JOIN
                   inItem AS I ON I.ItemID = L.ItemID INNER JOIN
                   inTransactionType AS T ON H.TransactionTypeID = T.TransactionTypeID
WHERE  (T.TransactionSign = -1 or T.TransactionSign = 1)
GROUP BY I.ItemCode


Richard Deeming

Публикация вопроса, а затем немедленная публикация ответа предполагает, что вы уже знали ответ, когда вы опубликовали вопрос, и единственная причина, по которой вы опубликовали вообще, состояла в том, чтобы получить "очки репутации" за публикацию решения.