각 [Movie_ID]의 발생 횟수를 계산하고 [total]이라는 다른 테이블의 레코드를 업데이트하려는 [users] 테이블이 있습니다. 그래서 Movie_ID = 81212의 경우, 값 2를 my [total] 테이블에 보냅니다.저장 프로 시저 계산 문제
아래와 같이 : 그래서
------------------------------------
| [users] | [total]
+---------+---------+ +---------+-------------+
|Movie_ID |Player_ID| |Movie_ID | Player_Count|
+---------+---------+ +---------+-------------+
|81212 |P3912 | | 81212 | 2 |
+---------+---------+ +---------+-------------+
|12821 |P4851 | | 12821 | 1 |
+---------+---------+ +---------+-------------+
|81212 |P5121 |
+---------+---------+
(movie_ID + player_ID form composite key
so Movie_ID does not need to be unique)
내가 저장 프로 시저와 함께이를 달성하기 위해 노력하고있어, 이것은 내가 지금까지 무엇을 가지고 : 나는 부분을 코딩하는 방법을 잘 모르겠어요 곳을 [users] 테이블의 모든 항목을 반복하여 movie_id의 각 항목을 찾아서 합산합니다. 당신이 정말 필요하십니까 : -
UPDATE
total t
JOIN (SELECT Movie_ID, COUNT(*) cnt FROM users GROUP BY Movie_ID) m
ON t.Movie_ID = m.Movie_ID
SET
t.Player_Count = cnt
하지만
update total set total.Player_Count = (select COUNT(Movie_ID) from users where total.Movie_ID=users.Movie_ID group by (Movie_ID));
글쎄, 난 사용자 테이블의 모든 업데이 트에서 프로 시저를 실행할 계획이다. – Undermine2k
이 경우 트리거를 사용할 수 있습니다. – Devart