Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用“更新查询”更新包含计算的多行_Sql_Sql Server_Tsql_Sql Update - Fatal编程技术网

Sql 使用“更新查询”更新包含计算的多行

Sql 使用“更新查询”更新包含计算的多行,sql,sql-server,tsql,sql-update,Sql,Sql Server,Tsql,Sql Update,我有两张桌子和一张产品桌子 MB01 MB01_微型ASU M5A_M Asus mobo 7500 45 PRO01 PRO01_01 INT_i3_7300英特尔core i3处理器9313 5 和另一张桌子推车桌子 我需要的是一个查询或一个程序,根据购物车数量中的值减少产品库存。有什么建议吗 我还提供了链接中两个表的屏幕截图 我的最新声明: UPDATE product SET prod_stock = ((SELECT cart_quantity

我有两张桌子和一张产品桌子

MB01 MB01_微型ASU M5A_M Asus mobo 7500 45

PRO01 PRO01_01 INT_i3_7300英特尔core i3处理器9313 5

和另一张桌子推车桌子

我需要的是一个查询或一个程序,根据购物车数量中的值减少产品库存。有什么建议吗

我还提供了链接中两个表的屏幕截图

我的最新声明:

UPDATE product 
  SET prod_stock = ((SELECT cart_quantity 
                     FROM cart 
                     WHERE prod_code LIKE cart_prod_id 
                       AND cart_cust_id LIKE 'Gireesh.R.Pai@gmail.com' 
                       AND cart_status LIKE 'NOT PAID') - prod_stock) 
给出一个错误:

Msg 512,级别16,状态1,第1行子查询返回的值超过1。当子查询在=、!=、=或者当子查询用作表达式时。声明已终止


你可以加入表格和

 ;WITH T AS(
    Select * FROM Product P 
    INNER JOIN CART C ON C.cart_prod_id = P.prod_code
    )
    Update T SET prod_stock = prod_stock - cart_quantity

你可以加入表格和

 ;WITH T AS(
    Select * FROM Product P 
    INNER JOIN CART C ON C.cart_prod_id = P.prod_code
    )
    Update T SET prod_stock = prod_stock - cart_quantity

如果没有tempdb,请使用更快的方式:

UPDATE P
SET
    P.prod_stock = P.prod_stock - C.cart_quantity
FROM
    Product AS P
    INNER JOIN CART AS C ON (C.cart_prod_id = P.prod_code)
您可以添加WHERE子句:

UPDATE P
SET
    P.prod_stock = P.prod_stock - C.cart_quantity
FROM
    Product AS P
    INNER JOIN CART AS C ON (C.cart_prod_id = P.prod_code)
WHERE *XXX* = *YYY* AND ...

如果没有tempdb,请使用更快的方式:

UPDATE P
SET
    P.prod_stock = P.prod_stock - C.cart_quantity
FROM
    Product AS P
    INNER JOIN CART AS C ON (C.cart_prod_id = P.prod_code)
您可以添加WHERE子句:

UPDATE P
SET
    P.prod_stock = P.prod_stock - C.cart_quantity
FROM
    Product AS P
    INNER JOIN CART AS C ON (C.cart_prod_id = P.prod_code)
WHERE *XXX* = *YYY* AND ...

这里的大多数人想要格式化的文本,而不是图像。或者,更糟糕的是,指向images的链接。标记您正在使用的DBMS。并显示您试图对UPDATE命令做些什么…我很抱歉。它不允许我直接上传图片。我现在是这么想的。我为错误感到抱歉。我尝试的更新产品集prod\U stock=从cart中选择cart\U数量,其中产品代码如cart\U prod\U id和cart\U cust\U id如'Gireesh.R'。Pai@gmail.com和购物车状态,如“未付款”-产品库存这里的大多数人想要格式化的文本,而不是图像。或者,更糟糕的是,指向images的链接。标记您正在使用的DBMS。并显示您试图对UPDATE命令做些什么…我很抱歉。它不允许我直接上传图片。我现在是这么想的。我为错误感到抱歉。我尝试的更新产品集prod\U stock=从cart中选择cart\U数量,其中产品代码如cart\U prod\U id和cart\U cust\U id如'Gireesh.R'。Pai@gmail.com和购物车状态,如“未付款”-生产库存