나는 두 개의 테이블이있다. 일치하는 StreamId가있는 주석의 수에 따라 계산 된 Streams 테이블의 Comments 열을 갖고 싶습니다.SQL Server 2008의 계산 된 열
현재 Streams 테이블을 쉽게 변경할 수 있습니까? 고맙습니다.
나는 두 개의 테이블이있다. 일치하는 StreamId가있는 주석의 수에 따라 계산 된 Streams 테이블의 Comments 열을 갖고 싶습니다.SQL Server 2008의 계산 된 열
현재 Streams 테이블을 쉽게 변경할 수 있습니까? 고맙습니다.
당신은
-- be careful, I do asume lot of field names
create view withCount as
select s.*, c.cant
from Streams s
left join
(select Streams_ID, count(*) as cant from Comments group by Streams_ID) as c
on s.id = c.Streams_ID
그리고 사용할 수 있습니다 다음
select * from withCount where ... order by ... // or whatever you want
이 작업에 트리거를 사용하지 마십시오
, 그들은 유지하고
"실제"열 값을 원하면 트리거를 사용하십시오. 그러나 다른 옵션은이 필드를 계산하는보기 일 수 있습니다. 기본 키 값을 기반으로 주석을 계산하는 경우에는 매우 빠른 계산이어야합니다.
그래,이에 따라 계산하는 오전 understud 더 dificult입니다 PK. 보기를 만들려면 어떻게해야합니까? – user1027620
좋은 작품입니다. 하지만 이제는 원래 테이블 인 Streams 대신에 withCount를 사용할 수 있습니까? 그것은 스트림이 코멘트 수를 포함한 모든 것을 가지고 있기 때문에. 권리? – user1027620
Streams 테이블에서 새 필드를 생성 할 때 해당 필드를 인식 할 수 있도록 Count 뷰를 다시 컴파일해야합니다. Luis Siquot,이 경우 유지 관리에 대한 트리거 문제에 대해 언급하는 것이 좋습니다. 정말입니다. – Hamikzo
간단한 anwser : 테이블 대신 선택 항목에 대한보기를 사용할 수 있습니다. 복잡한 anwser :이 accions 테이블을 직접 사용하기 위해 삭제, 업데이트 및 삽입 (이 간단한 작업에도 권장되지 않음)을 관리하기 위해 뷰에서 트리거를 만들 수 있습니다. –