【发布时间】:2014-12-24 18:08:23
【问题描述】:
我需要更新 tableA 的 total 字段 查询结果 按 DATE,RNAME 从 SALES 组中选择 SUM(amt)
我试过这样
update tableA set Total=(select sum(billamt) from SALES group by DATE,RNAME)
显示错误 子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
【问题讨论】:
-
这只是意味着子查询返回超过 1 行。您应该确保子查询仅返回 1 行。您可以使用前 1 个。
-
像这样尝试update tableA set Total= amt from (select sum(billamt)as amt from SALES group by DATE,RNAME)。还是不行..:(
-
查看 BobTheBuilder 的回答。如果子查询返回多于 1 行,则会产生错误。
-
试过这样。还是行不通。 update tableA set Total=(select sum(b.BILLAMT) from SALES b where b.date>='2014-10-01' and b.date
-
当也按日期分组时,它仍然为您提供三行。将其更改为:其中 b.date = '2014-10-02'。有帮助吗?
标签: sql-server vb.net