现在我有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]