我正在尝试使用另一个表中的出现次数更新表的字段,但到目前为止我没有运气。这就是我所拥有的:
Update S
SET Hours = Hours + COUNT(S.ID)
FROM S, E
ON S.ID = E.ID
WHERE S.ID = E.ID
GROUP BY S.ID;
我被迫使用的程序具有可怕的错误处理,并且只能向我提供错误的描述,即语法错误。我已经成功实现了一个返回我想要的select语句:
Select COUNT(S.ID)
FROM S, E
WHERE S.ID = E.ID
GROUP BY S.ID;
我在这里错过了一些非常简单的事情吗?
答案 0 :(得分:2)
update s
set hours =
(select count(*) from e where e.id = s.id)
答案 1 :(得分:1)
Update S
JOIN
(
select id, COUNT(*) as cnt
from e
group by id
) TMP ON S.ID = TMP.ID
SET S.Hours = S.Hours + TMP.cnt