这条sql语句为啥会是这种结果???
CREATE TABLE #b (
[id] [char] (10),
[name] [char] (10)
)
insert into #b(id,name) values('11','aaaa')
insert into #b(id,name) values('11','bbbb')
insert into #b(id,name) values('11','cccc')
insert into #b(id,name) values('22','dddd')
insert into #b(id,name) values('22','eeee')
insert into #b(id,name) values('22','ffff')
select * from #b b where name=(select top 1 name from #b where id=b.id)
drop table #b
结果是 id name
11 aaaa
22 dddd
如果我执行这句
select top 1 name from #b b where id=b.id 返回结果只有一个aaaa
那么select * from #b b where name='aaaa'就应该只有第一条记录啊为啥会是2条??