2010-06-22 2 views
0

본인은 교수진 테이블을 보유하고 있으며, 각 교수진에는 특정 수의 학생이 있습니다. 따라서 '현재'란은 현재 그 아래에있는 학생의 수입니다.한 열을 지속적으로 업데이트하는 방법은 무엇입니까?

그러나 저는 ++로하고 싶지 않습니다. 학생을 다른 교수로 바꿀 때마다. 카운트 ()를 사용하는 쿼리로 열을 업데이트 된 상태로 유지하는 방법이 있습니까? 나는 'advisor = 2'학생의 select count () 쿼리를 사용하는 것이 더 쉽고 정확하다는 것을 알았습니다. 예를 들어 현재 열을 사용하는 것입니다. 교수와 테이블의 모든 열을 가지고 분명히

CREATE VIEW studentCount AS 
SELECT 
    profID, 
    profName, 
    whatever, 
    (SELECT COUNT(*) 
    FROM studentTable 
    WHERE studentTable.profID=profTable.profID 
    ) AS studentCount 
FROM profTable; 

, 이것은 스키마에 맞게 조금 마사지 할 필요가 있지만, 기본적으로, 설치보기 :이 작업을 수행하려면

+0

감사합니다 모두 – yuudachi

답변

2

는보기를 사용 정보를 입력하고 끝에 원하는 수를 세는 끝에 열을 추가하십시오.

1

트리거가 문제의 해결책이 될 수 있습니까?

http://dev.mysql.com/doc/refman/5.5/en/triggers.html

당신이를 automaticly 때마다 학생 스위치 학부 교수진 테이블을 업데이트하는 트리거를 만들 수 있습니다.

+0

그건 OP입니다. OP는 피하려고합니다. –

+0

테이블 업데이트에 대해 항상 기억하고 싶지는 않을 수도 있습니다 (코드가 변경되거나 수동으로 변경 될 수 있습니다).),'current' 칼럼이 부정확하다는 것을 걱정해야한다. 방아쇠는 그것을 해결할 수 있습니다. DB의 읽기/쓰기 비율과 이러한 테이블의 크기를 고려하여 뷰 또는 트리거 솔루션이 가장 적합한 지 결정해야합니다. –

관련 문제