【发布时间】:2017-09-26 06:50:58
【问题描述】:
我有 2 个表,一个“product”表
**prod_cat** **prod_code** **prod_name** **prod_desc** **prod_price** **prod_stock**
MB01 MB01_micro ASU M5A_M 华硕主板 7500 enter image description here45
PRO01 PRO01_01 INT_i3_7300 Intel core i3 处理器 9313 5
和另一个表“cart”表
id cart_cust_id cart_prod_id cart_qty cart_prod_total cart_status
1 xxxx ASU M5A_M 1 7500 NOT PAID
2 xxxx INT_i3_7300 2 18626 NOT PAID
我需要的是根据“cart_qty”中的值减少“prod_stock”的查询或过程。有什么建议么 ?
我还提供了链接中2个表格的截图。Screen shots of the tables
我的更新声明:
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)
给出错误:
消息 512,级别 16,状态 1,行 1 子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。该语句已终止。
【问题讨论】:
-
这里的大多数人想要格式化的文本,而不是图像。 (或者,更糟糕的是,图片链接。)
-
标记您正在使用的 DBMS。
-
并显示您尝试过的操作(关于 UPDATE 命令...)
-
对不起。它不允许我直接上传图片。我现在这样。对于这些错误,我深表歉意。
-
我尝试了什么更新产品 SET prod_stock =((从购物车中选择 cart_quantity,其中 prod_code LIKE cart_prod_id AND cart_cust_id LIKE 'Gireesh.R.Pai@gmail.com' AND cart_status LIKE 'NOT PAID')- prod_stock )
标签: sql sql-server tsql sql-update