首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将查询从一个文档更新到另一个表行

将查询从一个文档更新到另一个表行
EN

Stack Overflow用户
提问于 2015-01-07 10:45:34
回答 1查看 560关注 0票数 0

我有以下表格:

代码语言:javascript
运行
复制
[@FARMCOST]      OIGE          IGE1
-----------      ------        -----------
u_farmname       Docnum        ItemName
u_blockcode      DOCentry      qty
u_cost           U_FarmName    Price
                               LineTotal
                               U_FarmName
                               U_blockcode
                               DOCentry

我有个疑问

代码语言:javascript
运行
复制
UPDATE [dbo].[@FARMCOST]
SET u_cost = u_cost + (
        SELECT b.LineTotal
        FROM OIGE a
        INNER JOIN IGE1 b ON a.DOCentry = b.docentry
        )
WHERE u_farmname = (
        SELECT a.U_FarmName
        FROM OIGE a
        INNER JOIN IGE1 b ON a.DOCentry = b.docentry
        )
    AND U_BlockCode = (
        SELECT a.U_BlockCode
        FROM IGE1 a
        INNER JOIN IGE1 b ON a.DOCentry = b.docentry
        WHERE
        GROUP BY a.U_BlockCode
        )

我有两个文档,一个是块成本;即dbo。@FARMCOST。第二个文档是FARMCOST,即OIGE主表和IGE1子表。

现在,我想根据enter代码、异地选择的块(即IGE1.U_BlockCode )更新块成本表。上面的查询很好,它正在为一个行更新,即一个项,但是当我选择多个具有不同块的行时,就会出现错误。

任何帮助/想法都是非常值得赞赏的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-07 11:13:01

在一个表中更新一批条目的一般语法是从其他表中获取数据

代码语言:javascript
运行
复制
UPDATE dst
SET col = whatever
FROM dst
JOIN src ON dst.columnName = src.columnName

当然,您可以在这里使用表别名。

因此,您的更新查询应该类似于:

代码语言:javascript
运行
复制
UPDATE fc 
SET u_cost = u_cost + grp.LineTotalSum
FROM [dbo].[@FARMCOST] AS fc
JOIN (
    SELECT OIGE.U_FarmName, IGE1.U_blockCode, SUM(IGE1.LineTotal) AS LineTotalSum
    FROM OIGE 
        JOIN IGE1 ON OIGE.U_FarmName = IGE1.U_FarmName
    GROUP BY OIGE.U_FarmName, IGE1.U_blockCode
) as grp ON fc.u_FarmName = grp.U_FarmName AND fc.u_blockcode = grp.U_blockcode

注:我正在根据你的问题做一个最好的估计。如果有任何列名错误,或者我误解了外键,那么请在你的问题中更清楚地说明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27817655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档