簡體   English   中英

SQL Update,每行有計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM