0

ごめんなさい!このタスクで何をすべきかわかりません。データはこちらの質問と同じですが、big_table.bench_id に新しいデータを挿入し、このデータを BATCH_ID テーブルにも表示したい場合はどうすればよいですか? それらをキーでバインドしようとしましたが、big_table には既にメイン キーがあるため、どうすればよいかわかりません。アドバイスをいただければ幸いです。

Big_table.bench_id:

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

2 つの列を持つ別の BATCH_ID テーブルを作成しました。

**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
4

2 に答える 2

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 ;

エルマー

于 2013-03-21T08:50:28.977 に答える
0

その目的のためにテーブルを作成する代わりに、必要な情報を返すビューを作成できます。たとえば、次のことを試してください。

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

その後:

SELECT * FROM vwBigTable
于 2013-03-21T08:56:13.970 に答える