使用计数语法正确更新

阿德莫

我正在尝试通过单个查询更新多个键记录,但是我不知道正确的语法。

这是我的尝试:

UPDATE hL
SET hL.[QUANTITY_COMPLETED] = (SELECT COUNT([SERIAL_NUMBER]) 
                               FROM [dbo].[ORDER_ITEMS] oO
                               INNER JOIN [dbo].[JOB_HISTORY] jH ON jH.[ORDER_NUMBER] = Oo.[ORDER_NUMBER]
                               INNER JOIN [dbo].[JOB_HISTORY_LINE] hL ON hL.[LINE_NUMBER] = oO.[LINE_NUMBER]
                               WHERE oO.[LINE_NUMBER] = hL.[LINE_NUMBER])
FROM [dbo].[JOB_HISTORY_LINE] hL

问题:以上内容将SUM的项目粘贴ORDER_ITEMS中的所有条目中JOB_HISTORY_LINE这是不对的。

JOB_HISTORY_LINE仅包含LINE_NUMBER与关联的每个信息ORDER_NUMBER在每个项目ORDER_ITEMS具有关联的LINE_NUMBER并且ORDER_NUMBER可以通过被引用JOB_HISTORY,其中包含ORDER_NUMBER

我们的目标:每行JOB_HISTORY_LINES应显示相关COUNTSERIAL_NUMBERSORDER_ITEMS表。

请帮助我解决这个问题,以便我了解为什么要搞砸了:)

戈登·利诺夫

也许您正在寻找的是相关子查询:

UPDATE hL
    SET hL.[QUANTITY_COMPLETED] = (SELECT COUNT([SERIAL_NUMBER])
                                   FROM [dbo].[ORDER_ITEMS] oO INNER JOIN
                                        [dbo].[JOB_HISTORY] jH
                                        ON jH.[ORDER_NUMBER] = Oo.[ORDER_NUMBER]
                                   WHERE oO.[LINE_NUMBER] = hL.[LINE_NUMBER]
                                  )
    FROM [dbo].[JOB_HISTORY_LINE] hL;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章