2013-03-21 2 views
0

죄송합니다. 나는이 일을 어떻게해야할지 모른다. 데이터는이 질문 here과 동일하지만 big_table.bench_id에 새 데이터를 삽입하고 BATCH_ID 테이블에서도이 데이터를 볼 수 있도록하려면 어떻게해야합니까? 나는 열쇠로 그들을 묶으려고했으나, big_table은 이미 주키를 가지고있어서 무엇을해야할지 모른다. 제발 어떤 조언을 주시면 감사하겠습니다.SQL Server : 데이터 삽입

Big_table.bench_id : 나는 두 개의 열이있는 다른 BATCH_ID 테이블을 만든

**bench_id** 
31 
51 
51 
61 
61 
61 
71 
71 

:

**distinct_bench**   **number** 
----------------------------- 

31        1 
51        2 
61        3 
71        2 

그래서 예를 들어, 내가 111 '같은 big_table.bench_id에 새로운 코드를 추가 할 경우 '

**bench_id** 
    31 
    51 
    51 
    61 
    61 
    61 
    71 
    71 
    111 

그래서 그것은 또한 다른 테이블에 표시됩니다

**distinct_bench**   **number** 
    ----------------------------- 

    31        1 
    51        2 
    61        3 
    71        2 
    111        1 
+0

어떻게 u는'distinct_bench = 111'에 대한'Batch_Id' 테이블의 컬럼'number'에 대한 값을받을 수 있나요? – praveen

+0

그것은 무작위 값입니다 ... 미래에 새로운 레코드가 테이블에 삽입 될 것이므로 두 번째 테이블에도 새로운 레코드가 나타납니다. – user2082503

답변

2

정말 다른 테이블이 필요합니까? 이를 달성하기위한 뷰를 생성 할 수 있습니다.

create table xxTemp (bench_id int) ; 

insert into xxTemp (bench_id) 
values (31) 
    ,(51) 
    ,(51) 
    ,(61) 
    ,(61) 
    ,(61) 
    ,(71) 
    ,(71) ; 

create view xxTempCount as 
Select bench_id 
    , COUNT(1) number 
From xxTemp 
Group By bench_id ; 

select * 
from xxTempCount ; 

insert into xxTemp (bench_id) 
values (111) ; 

select * 
from xxTempCount ; 

엘머

0

대신에 그 목적을위한 테이블을 생성, 당신은 당신이 원하는 정보를 반환하는 뷰를 만들 수 있습니다. 다음

CREATE VIEW vwBigTable 
AS 
    SELECT bench_id AS [**distinct_bench**], COUNT(*) AS [**number**] 
    FROM big_table 
    GROUP BY bench_id 

를 실행 한 다음, 예를 들어, 다음과 같은 시도

SELECT * FROM vwBigTable