4

긴 질문 제목에 대해 죄송합니다.SQL Server 2005 계산 된 열 결과 다른 테이블의 집계 결과 필드 값

나는이 문제에 대해 패자를 추측하고있다.

다른 테이블의 필드에 적용된 집계 함수의 결과로 테이블에서 계산 된 필드를 계산할 수 있습니까?

즉 당신 '얼굴'이라는 테이블, 이것은 '색상'라는 아이가 (내 영국 헤드가 상처를 만들지 만 공급 업체가 미국, 당신이가는 할까?에서이다)이있다 , 차례 차례로, '크기'라고 불리는 아이가있다. 각 테이블에는 sold라는 필드가 있습니다.

특정 색상 및 크기의 모든 머그컵에 대해 size.sold가 1 씩 증가합니다.

당신은 SUM의 집합체로 color.sold 원하는 size.sold size.colorid = color.colorid

당신은 mug.sold는 SUM의 color.sold의 집계 할 위치 WHERE color.mugid = 얼굴 .mugid

어쨌든 mug.sold와 color.sold를 그냥 작동 시키거나 트리거를 사용해야합니까?

+0

인쇄 마지막 티켓의 실시간 번호가 중요하며 티켓은 종류에 와서 유형 가격에 와서 어디는 티켓 에이전트에 대해 작동합니다. 쇼, 유형 및 가격 별 티켓 번호는 언제든지 필요할 수 있습니다. –

답변

2

아니요, 가능하지 않습니다. 계산 된 열은 같은 행에있는 다른 필드의 값에서만 파생 될 수 있습니다. 다른 테이블에서 집계를 계산하려면보기를 만들어야합니다. 진짜 시간이 보여 정말 필요한

  1. 인가 : 응용 프로그램이 통계는 다음과 같은 질문을 표시 할 필요가있는 경우

    ? 그렇다면 왜? 이 작업을 수행하는 것이 실제로 필요한 경우 트리거를 사용하여 테이블을 업데이트해야합니다. This은 비정규 화에 관한 짧은 위키 백과 문서로 연결됩니다. 트리거는 테이블 갱신에 대한 쓰기 성능에 영향을 주며 활성중인 트리거에 의존합니다.

  2. 보고 목적으로 만 필요한 경우보기 또는 보고서에서 계산을 수행 할 수 있습니다.
  3. 임시 보고서를 자주 지원해야하는 경우 데이터 마트 및 야간 ETL 프로세스의 영역이 될 수 있습니다.