0

对不起大家!我只是不知道如何处理这个任务。数据与此问题中的数据相同,但是当我在 big_table.bench_id 中插入新数据并且我希望此数据在 BATCH_ID 表中也可见时该怎么办?我试图用键绑定它们,但是 big_table 已经有主键所以不知道该怎么做。请任何建议将不胜感激。

Big_table.bench_id:

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

我创建了另一个包含两列的 BATCH_ID 表:

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

31                               1
51                               2
61                               3
71                               2

例如,如果我将新代码添加到 big_table.bench_id 中,例如“111”:

**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 回答