SQL Суммирование нескольких строк по идентификатору // Для использования в SP - PullRequest
0 голосов
/ 24 января 2020

Я снова вернулся:)

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

у меня есть 1 #table, который возвращает значение с именем LineTotal, которое является суммой UnitPrice и TranDespQty, хорошо, так что каждый InvoiceNo получил Multiple TranLineNo, по одному для каждого элемента, так что мне нужно, чтобы InvoiceTotal был суммой каждого LineTotal для Invoice, если это имеет смысл

    CREATE PROCEDURE sp_PPEInvEnquiry_Invoice_Summary @InvoiceNoFrom int, 
   @InvoiceNoTo int
   as
    if object_id ('tempdb..#tranData2') is not null 
     drop table #tranData2
     select c.Extra2 as InvoiceNo,
       c.TranLineNo,
       cast(null as varchar(255)) as TranDate,
       cast(null as varchar(255)) as AssetName,
       b.ItemCode,
       cast(0 as Decimal(18,2)) as UnitPrice,
       b.TranDespQty,
       cast(0 as Decimal(18,2)) as LineTotal,   
       cast(0 as Decimal(18,2)) as InvoiceTotal

       into #tranData2 
   from TS_TranHeader a, TS_TranDetail b ,
   (select distinct TranDocNo, TranLineNo, TranSlipNo, ItemCode, CoyCode, Extra2 
   from TS_TranSlip where TranSlipScanned = 'P')  c,
   (Select CoyCode,StoreCode,StoreName From TS_Store Where CoyCode = 'KWV') d
   where a.TranDocNo = b.TranDocNo 
   and a.TranDocNo = c.TranDocNo 
   and a.CoyCode = c.CoyCode 
   and a.CoyCode = b.CoyCode 
   and a.CoyCode = 'KWV' 
   and b.TranLineNo = c.TranLineNo
   and a.StoreCode = d.StoreCode

   update a 
   set AssetName = b.AssetName
   from #tranData2 a, TW_Asset b --updates the AssetName and AssetCode 

   update a --updates the trandate
   set a.TranDate = b.TranDate
   from #tranData2 a,TS_TranHeader b
   where a.InvoiceNo -100 = b.TranDocNo

   update a
   set    a.UnitPrice = b.ItemSellingPrice
   from #tranData2 a, TS_Item b, TS_Store d
   where  a.ItemCode = b.ItemCode 

   update a
   set LineTotal = UnitPrice * TranDespQty
   from #tranData2 a 

есть идея о том, как выглядит моя таблица, а ниже - скриншот столбцов, о которых я говорю

https://prnt.sc/qs7r1f

красный - это все номера счетов-фактур, которые являются одинаковыми. Счет-фактура Синий - это сумма строк, которую необходимо суммировать и добавить к черному с помощью InvoiceTotal For - счет-фактура numb э-э (в данном случае) 137

1 Ответ

0 голосов
/ 24 января 2020

примерно через час поиска других форумов и переписывания моего вопроса, я думаю, что я получил ответ

select InvoiceNo,InvoiceDate, AssetName,sum(LineTotal)as TotalInvoiceValue,WeekNumber
from #tranData2
where InvoiceNo >= @InvoiceNoFrom
and InvoiceNo <= @InvoiceNoTo 
group by InvoiceNo, InvoiceDate, AssetName,WeekNumber
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...