sql查询
create table #A
(
AA int,
BB nvarchar(20),
)
insert into #A values(1, 'a ')
insert into #A values(2, 'b ')
insert into #A values(3, 'a ')
insert into #A values(4, 'a ')
insert into #A values(5, 'b ')
insert into #A values(6, 'c ')
insert into #A values(7, 'c ')
create table #B
(
AA int,
CC int
)
insert into #B values(1,1)
insert into #B values(2,2)
insert into #B values(3,1)
insert into #B values(4,2)
insert into #B values(5,1)
insert into #B values(6,1)
insert into #B values(7,2)
测试数据:
希望先分组再条件。AA连接:
希望结果:
查出A表BB出现2次 B表的CC为1的数目。
最好一个sql.
错误查询:select count(A.BB) from #A A inner join #B B on A.AA = B.AA where B.CC = 1 group by A.BB having (count(A.BB) = 2)
应该是2个,b和c的.分别1个.
------解决方案--------------------是不是这样
select count(*) from #A A inner join #B B on A.AA = B.AA
where B.CC = 1 and BB in(select BB from #A group by BB having count(BB)=2)
------解决方案--------------------select count(*) from #B b join #A a on b.AA=a.AA join (select BB from #A group by BB having(count(*))=2) c on a.BB=c.BB where b.CC=1
------解决方案--------------------select count(1) from #A A join #B B on A.AA = B.AA
where B.CC = 1 and BB in (select BB from #A group by BB having count(1)=2)
------解决方案--------------------Select
A.*,
B.CC
From
#A As A
Inner Join
#B As B
On A.AA=B.AA And Exists
(Select Count(BB) From #A Where BB=A.BB Group By BB Having Count(BB)=2)
Where B.CC=1
------解决方案--------------------wishY() ( ) 信誉:100 2007-9-13 14:00:54 得分: 0