2014-04-18 378 views
1

我知道别名使用别名不工作,但无法弄清楚得到得到预期的结果“和count_of_circs = circ_limit”SQL在WHERE子句

select libraryid, 
      patronid, 
      count(circ.id) as count_of_circs, 
      (
       select account.circsperpatronmonth 
       from account 
       where circ.libraryid = account.libraryid 
      ) as circ_limit 
    from circ 
    where borrowed >= '2014-04-01' 
    and borrowed < '2014-04-19' 
    and count_of_circs = circ_limit 

    group by patronid,libraryid 
+1

这是什么数据库? – OldProgrammer

+0

你能解释你的桌子吗? – HaMeD

回答

2

你想要一个having条款:

select libraryid, patronid, 
     count(circ.id) as count_of_circs, 
     (select account.circsperpatronmonth 
     from account 
     where circ.libraryid=account.libraryid 
     ) as circ_limit 
From circ 
where borrowed >= '2014-04-01' and borrowed < '2014-04-19' 
group by patronid, libraryid 
having count_of_circs = circ_limit; 
0

您将需要“按组”

HAVING count_of_circs = circ_limit 

后添加一行它不是一个别名,它是过滤接振铃后分组。