2011-04-05 164 views
0

之间计数我在两张桌子下面列:SQL服务器 - 两个表

Table 1 
simultaneous type a 
10     

Table 2 - records with type a 

loginAAA type a 
loginBBB type a 

我需要的是一个计数两次登录查询,有多少“A型”,他们已经和检查数量超过表1限制。如果可能的话,只返回超过限制的计数。

我想我可以用游标轻松做到这一点,但有没有另一种方法来检查?

此致敬礼。

回答

2

它可以制定这样的

SELECT TypeID, restrictionTable.restriction, count(TypeID) as LoginCount 
FROM loginTable 
     INNER JOIN restrictionTable 
      ON loginTable.TypeID = restrictionTable.TypeID 
GROUP BY TypeID, restriction 
HAVING count(TypeID) <= restrictionTable.restriction 

的SQL查询,但我不知道如果我正确地理解你的表是如何定义和相关的。你可能编辑你的问题,尤其是 - 澄清表1的结构。

+0

随着我提供的示例数据,我想要的是,查询返回表2中的数字2,然后将其与数字进行比较如果可能的话,因为2小于10,所以没有行返回。 – Nuno 2011-04-05 13:59:45

+0

我修改了我的答案。这是未经测试的代码,但我认为你可以使用这个想法 – 2011-04-05 14:11:04