SQL计数1表并将表2中的信息合并到结果中

时间:2014-02-06 21:20:05

标签: sql database isql

我需要SQL帮助。我在终端中有一列,在table2中有一列相互匹配。 (索引)我想在表'terminal'中显示每个索引的终端计数,并将其与table2合并以在输出中包含索引名称

select index,terminal=count(*) from terminal 
group by index

返回

index     terminal
--------- -----------
1          94
2          15

在table2中,我有一个与表'terminal'中的索引匹配的索引,并且它还具有与索引对应的名称。

示例:

select * from table2

返回:

index    name          lcmid        handle     
------   ------        --------     --------
1        nameofindex1  8            10
2        nameofindex2  12           27

我想计算表1中与索引相对应的终端数量,然后合并它们以包含'nameofindexes',lcmid和句柄到结果中。我为听起来像一个全新手而道歉,但我正在学习,因为我走了。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

嗯,你需要加入。也许:

SELECT t1.index, c=count(*), t2.name FROM terminal AS t1
    INNER JOIN table2 AS t2 ON t1.index = t2.index
    GROUP BY t1.index;

我有点生疏,所以查询可能不完全正确,但是JOIN是你需要去的方向。

修改

如评论中所示,这适用于mysql,但不适用于OP的SQL风格。在SELECT和GROUP BY子句中将t1.index更改为t2.index:

SELECT t2.index, c=count(*), t2.name FROM terminal AS t1
    INNER JOIN table2 AS t2 ON t1.index = t2.index
    GROUP BY t2.index;