我需要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和句柄到结果中。我为听起来像一个全新手而道歉,但我正在学习,因为我走了。
非常感谢任何帮助。
答案 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;