日期:2014-05-17  浏览次数:20781 次

检验的语句
有一张表MATCH(week,home_name,away_name),
现在需要判断这张表的合法性,合法性的条件只有一个:在这张表的记录中(*,a,b)的
数量和(*,b,a)的数量相同(a不可能等于b)。
这样的检验要怎么写?



------解决方案--------------------
SQL code
select count(1)
from
(select home_name,away_name,count(1) cnt
from MATCH
group by home_name,away_name
) a
,(select home_name,away_name,count(1) cnt
from MATCH
group by home_name,away_name
) b
where a.home_name=b.away_name
and a.away_name=b.home_name
and a.cnt<>b.cnt
;