2011-04-05 162 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