【发布时间】:2017-11-16 18:50:34
【问题描述】:
我正在尝试将一些数据插入到临时表(#temptable)中,插入后我想执行 Sum(amount),它与客户名称和账单 ID 匹配相同的 ID 和组,我想选择这些匹配 ID 中可用的最早日期。经过所有这些操作后,我想更新原始表(billtable)
Bill ID Amount CUstName Duedate
12 12.2 ABC 12222016
12 22.2 ABC 12112016
13 23.22 ABC 12102016
Bill ID Amount CUstName Duedate
12 34.4 ABC 12112016
13 23.22 ABC 12102016
【问题讨论】:
-
更新意味着,你想更新一行并删除所有其他具有相同
Bill ID的行? -
到目前为止你的代码中有什么?
-
@nCessity 我想在临时表上执行这些操作,并想将更新值插入到账单表中
-
@JacobH 我执行插入到#temptable(Bill ID,Amount,CustName,Duedate)值(Bill ID,Amount,CustName,Duedate)INSERTINTO billtable SELECT BillID,SUM(Amount),CustName,MIN (InvoiceDate) GROUPBY BillID, CustName ;
-
好的,现在编写您的 select 语句以对 #temptable 中的值求和。然后将该语句用作更新的 FROM 子句。将每个部分分解为单独的查询时,SQL 更容易编写。
标签: sql sql-server stored-procedures