日期:2014-05-18  浏览次数:20523 次

2个表连接问题
有2个表:
 表A: AID,AName
 表B: AID,BID,BName
对应关系:表A --->表B 为1 对多关系。

如图:


现在2个表联合查询,使得结果为
AID BID
A1 B1
A2 B4
A3 B6
 



------解决方案--------------------
SQL code
select
  isnull(a.aid,b.aid) as aid,b.bid
from
   a full join b
on
   a.aid=b.aid

------解决方案--------------------
SQL code

select * from a inner join b  as c  on a.AID=c.AID
and not exists(select 1 from B where AID=c.AID and BID>c.BID)

------解决方案--------------------
取B表AID相同,最后一條記錄用以上方法
------解决方案--------------------
神马意思?
------解决方案--------------------
SQL code
--还是
select 
   *
from
   a,b
where
   a.aid=b.aid
and
   bid=(select max(bid) from b t where aid=b.aid)

------解决方案--------------------
SQL code
select AID,BID from B where exists (select 1 from A where AID=B.AID)

------解决方案--------------------
探讨

晕,图片没显示出来,我把图片放http://hi.csdn.net/attachment/201111/14/28378_1321256489az0D.jpg 这里,大家看下。

------解决方案--------------------
是不是只要AID相同,然后显示BID中任一条记录.还是BID最大的一条,还是BID最小的一条