[英]SQL Update with count for each row
我正在嘗試使用另一個表中的出現次數來更新表的字段,但到目前為止我沒有運氣。 這就是我所擁有的:
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;
我錯過了一些非常簡單的東西嗎?
update s
set hours =
(select count(*) from e where e.id = s.id)
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.