SQL Server初学者在这里。我在SELECT / UPDATE语句上遇到了一些麻烦。我有一个带有订单号列和行号列的表。下面的select语句返回我想要的值。我想获取结果并将该编号插入订单号匹配的同一张表的一列中。我在想这个吗?还是在考虑复杂性? :)

    SELECT
    ORDNUM, COUNT(LINNUM) AS 'CountLines'
    FROM [TableName]
    WHERE STS = '3' AND DUEQTY < ONHAND AND STYPE = 'CU'
    GROUP BY ORDNUM

    UPDATE [TableName]
    SET LNCNT = 'CountLines'
    WHERE ORDNUM = ORDNUM


先感谢您。


更新:我在下面使用了Andomars解决方案,并且效果很好。谢谢大家的帮助。

最佳答案

使用SQL Server语法:

update  tn
set     LNCNT = SubQuery.CountLines
from    TableName as tn
join    (
        select  ordnum
        ,       count(linnum) as CountLines
        from    TableName
        where   sts = '3'
                and DUEQTY < ONHAND
                and STYPE = 'CU'
        group by
                ordnum
        ) as SubQuery
on      SubQuery.ordnum = tn.ordnum

10-01 04:45