首页 新闻 赞助 找找看

SQl 一对多查询问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2014-08-27 11:03

主表里的每个ID都要从子表里取出满足条件的前十条数据,数据量比较大,sql应该怎么写啊

staben的主页 staben | 初学一级 | 园豆:185
提问于:2014-04-17 09:42
< >
分享
所有回答(2)
0

子表根据外键分组排序取前十,需要子表在外键和排序字段做索引

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-17 11:39

select t.* from A t where iDataId in(select top 100 iDataId from A where iPersonId=t.iPersonId order by dUseTime)

这样的sql 改成Exists 怎么写啊

支持(0) 反对(0) staben | 园豆:185 (初学一级) | 2014-04-17 12:22
0

Select * from Table A

Outer Apply ( select top 100 ID from TableDetails B where A.PrimaryID = B.ForeignID)

这个方法是获取指定字表的条件个数。就是每一项主键ID,匹配指定数量的字表信息,希望能给你帮助

neoshero | 园豆:186 (初学一级) | 2014-04-21 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册