数据库连接查询

现在我有2张表
A表:
ID         XSLX        KH
1001     lxoo          skda

2002    地方             撒的
.....
B表:
ID          A_ID          SL     YFSL
1           1001          200      100
2            1001         100       15
3             2002            5        1
............

请问怎么通过A表主键查询到B表A_ID所对应的所有SL的和大于YFSL的和的记录一共有几条???语句怎么写呀?

[code="sql"]
select count(*) from(

select B.ID,sum(SL) sl_sum,sum(YFSL) yfsl_sum from A,B

where A.id = B.A_ID
group by B.id

) subTab
where sl_sum > yfsl_sum
[/code]

select count(*)
from(
select distinct a_id
from B
group by a_id
having sum(sl)>sum(yfsl)
)
不知道符合你的要求不?

SELECT [id]
,[a_id]
,[sl]
,[yesl]
FROM [test].[dbo].[B]
where a_id in(
select a_id from [test].[dbo].[B]
group by [a_id] having sum([sl])>sum([yesl]))

[code="SQL"]
select count(*) from(
select B.ID,count(sl) sl_num,count(yfsl) yf_sum from A,B
where A.id = B.a_id
group by B.id
)
where sl_num >yf_sum
[/code]