这是我的错误。所以我不知道该做什么。请帮帮我。
子查询返回的值超过1。这是不允许的 子查询跟随=,!=,<,< =,>,> =或当子查询用作 表达。
UPDATE Kho
/*SET Kho.Xuat = SUM(PhieuXuat.SL)*/
SET Kho.Xuat = (SELECT SUM(PhieuXuat.SL) AS SLuong FROM PhieuXuat group by PhieuXuat.MaVT)
FROM Kho
INNER JOIN PhieuXuat
ON (Kho.MaVT = PhieuXuat.MaVT)
答案 0 :(得分:2)
这意味着子查询返回了多行,这是不允许的。您可以将UPDATE
声明写为:
UPDATE k
SET k.Xuat = (SELECT SUM(p.SL) FROM PhieuXuat p WHERE p.MaVT = k.MaVT)
FROM Kho k
请注意子查询中添加的WHERE
子句。我还删除了JOIN
以防止在同一行上进行多次更新。
答案 1 :(得分:2)
错误是因为您的内部查询返回多行。 您可以尝试对JOIN中的组求和,然后加入此集合以获得正确的结果。
NB:内部查询只会被评估一次。
SocialAuthenticationToken