【发布时间】:2020-07-06 06:25:06
【问题描述】:
我的 SQL 很生锈。我正在尝试以嵌套查询的形式使用同一表中的 COUNT(*) 更新表中的一行中的计数器。 SQL如下:
UPDATE DWInvoiceHeader AS A
SET A.InvCount = (Select Count(B.HIINV) From DWInvoiceHeader AS B
WHERE (B.HIVENT = '0')
Group By B.HIINV
Order By B.HIINV)
WHERE (A.HIVENT = '0');
行看起来像:
HIINV1.......Seq1.....InvCount - want InvCount to be 3
HIINV1.......Seq2.....InvCount - want InvCount to be 3
HIINV1.......Seq3.....InvCount - want InvCount to be 3
HIINV2.......Seq1.....InvCount - want InvCount to be 2
HIINV2.......Seq2.....Invcount - want InvCount to be 2
.
.
.
HIINVn.......Seq1.....InvCount - want InvCount to be 1
上面的 SQL 给了我消息“操作必须是可更新的查询”。
有什么想法吗?
【问题讨论】: