2010-12-09 63 views
0

我有兩個表格:Match和MatchShots。查詢根據關聯表中的row_count返回結果?

一場比賽有很多match_shots,並且match_shots屬於比賽。

在我的匹配表中,我有一個名爲shot_limit的屬性。

我想返回只是那些基於以下條件匹配:

  • 匹配shot_limit不爲空
  • 匹配shot_limit = 1和match_shots的計數> 0
  • 匹配shot_limit = 3和計數match_shots> 2
+0

子彈=和/或? – btiernay 2010-12-09 03:45:30

回答

0

要查看每個「匹配」如何量化不同的分類,我會將計數添加爲結果集中的列。

select 
     m.matchID, 
     {whatever other columns}, 
     count(*) MatchCount 
    from 
     match m, 
     matchShots ms 
    where 
      m.matchID = ms.MatchID 
     and (m.shot_Limit = 1 or m.shot_Limit = 3) 
    group by 
     m.matchID 
    having 
     MatchCount >= m.Shot_Limit 
0

如何像:

select 
    m.* 
from 
    match m 
    inner join 
    matchshot ms 
    on ms.id = m.ms_id 
where 
    m.shot_limit is not null 
group by 
    m.id 
having 
    (m.shot_limit = 1 and count(*) > 0) or 
    (m.shot_limit = 3 and count(*) > 2)