从 GL 表中查询出所有月份的发生额都比 2011 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12 月份的发生额。 accid:科目代码;mon:发生额月份;amt:发生额
1、先查询2011科目所对应的月份以及月份所对应的发生额
Select mon,amt from GL where accid=’2011’
2、查询GL表中除了2011科目外,月发生额比2011对应月份发生额高的科目信息
Select a.* from GL a,(Select mon,amt from GL where accid=’2011’
) b where a.mon=b.mon and a.amt>b.amt;
3、最后去掉不是每个月的发生额都比2011科目对应的发生额高的科目
Select accid from (Select a.* from GL a,(Select mon,amt from GL where accid=’2011’
) b where a.mon=b.mon and a.amt>b.amt;
) c group by accid having count(mon)=12;
‘真实的’活着